gpt4 book ai didi

C++命令行参数Eclipse CDT?

转载 作者:IT老高 更新时间:2023-10-28 23:14:16 26 4
gpt4 key购买 nike

我正在使用此代码中的示例程序 http://sicktoolbox.sourceforge.net/ > http://sourceforge.net/projects/sicktoolbox/files/ .它基本上是一个距离扫描仪驱动程序。我正在尝试运行的程序位于sicktoolbox-1.0.1/c++/examples/lms/lms_plot_values 中,以防您想查看我正在谈论的代码。

无论如何,lms_plot_values 项目文件夹包含 gnuplot_i.cc、gnuplot_i.hpp、main.cc、Makefile、Makefile.am、Makefile.in。所以我把前三个文件放在我的 Eclipse Indigo CDT 中,编译(没有编译器错误,Eclipse 中的所有内容都已正确链接,并且添加了所有需要的库),但是这个示例程序是为了接受命令行参数而编写的。就代码而言,这里是。

/*!
* \file main.cc
* \brief Illustrates how to acquire a measurements from the Sick
* LMS 2xx using the configured measuring mode.
*
* Note: This example should work for all Sick LMS 2xx models.
*
* Code by Jason C. Derenick and Thomas H. Miller.
* Contact derenick(at)lehigh(dot)edu
*
* The Sick LIDAR Matlab/C++ Toolbox
* Copyright (c) 2008, Jason C. Derenick and Thomas H. Miller
* All rights reserved.
*
* This software is released under a BSD Open-Source License.
* See http://sicktoolbox.sourceforge.net
*/

/* Implementation dependencies */
#include <stdlib.h>
#include <string>
#include <vector>
#include <signal.h>
#include <iostream>
#include <sicklms-1.0/SickLMS.hh>
#include "gnuplot_i.hpp"

using namespace std;
using namespace SickToolbox;

bool running = true;
void sigintHandler(int signal);

int main(int argc, char * argv[]) {

string device_str; // Device path of the Sick LMS 2xx
SickLMS::sick_lms_baud_t desired_baud = SickLMS::SICK_BAUD_38400;

/* Check for a device path. If it's not present, print a usage statement. */
if ((argc != 2 && argc != 3) || (argc == 2 && strcasecmp(argv[1],"--help") == 0)) {
cout << "Usage: lms_plot_values PATH [BAUD RATE]" << endl
<< "Ex: lms_plot_values /dev/ttyUSB0 9600" << endl;
return -1;
}

正如它所说,它抛出一个错误并杀死程序,说它希望我从命令行键入“lms_plot_values/dev/ttyUSB0 9600”来运行程序,但我不能这样做,而且我'我想在 Eclipse 中做所有事情,所以我不想这样做。我尝试添加:

argv[1] = "/dev/ttyUSB0";
argv[2] = "9600";

但由于 argc 检查,这不起作用。你知道它是否说要传入“lms_plot_values/dev/ttyUSB0 9600”,为什么它会期待或从哪里获取 argc 值?或者我怎样才能让它认为这些参数是传入的?我对 C++ 是如何工作的不是很熟悉,我只使用过 Java。

感谢您的帮助

最佳答案

你也可以在 eclipse 中传递参数。一旦你构建了你的项目,尝试创建一个运行配置,你可以在那里传递参数。这是屏幕截图:

enter image description here

enter image description here

关于C++命令行参数Eclipse CDT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8390356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com