C++ VC++;正在忽略命令行参数

C++ VC++;正在忽略命令行参数,c++,debugging,visual-c++,C++,Debugging,Visual C++,我正在尝试让其他人的VC++项目在VC8中工作。该解决方案包含一个库和一个可执行文件。每个项目都位于解决方案下一级的自己的目录中。编译代码时,可执行文件将放置在解决方案文件夹下的调试文件夹中,而不是programdir\debug文件夹中 布局如下: solutiondir\solution.sln solutiondir\libdir\library.proj (and .cpp and .h files) solutiondir\programdir\program.proj (and ma

我正在尝试让其他人的VC++项目在VC8中工作。该解决方案包含一个库和一个可执行文件。每个项目都位于解决方案下一级的自己的目录中。编译代码时,可执行文件将放置在解决方案文件夹下的调试文件夹中,而不是programdir\debug文件夹中

布局如下:

solutiondir\solution.sln
solutiondir\libdir\library.proj (and .cpp and .h files)
solutiondir\programdir\program.proj (and main.cpp)
solutiondir\debug\library.lib
solutiondir\debug\program.exe
一切都很好,但当我试图运行program.exe时,我试图调试一个问题。当我第一次尝试在调试模式下运行program.exe时,它询问我exe位于何处,因此我浏览到调试目录(solutiondir\debug),然后调试器就可以运行program.exe了。到目前为止,一切顺利

问题是我无法通过“usage”函数,因为没有提取命令行参数。我编辑了程序的属性,其中肯定有参数,但是argc==1,唯一的参数是程序名,这清楚地表明“命令参数”被忽略或找不到


我想知道这个问题是否与目录结构有关,或者是否需要设置像$(target)这样的变量,尽管我已经尝试过设置它。我错过什么了吗?非常感谢您的帮助。

将生成可执行程序的项目设置为默认项目,这将是开始调试时运行的项目。

是否将生成program.exe的项目设置为默认项目?这就是开始调试时它运行的程序。如果一个DLL是默认的,它会请求可执行文件。在这种情况下,我的建议是从头开始重新创建项目。不要依赖Visual Studio的项目自动转换。我不确定“程序的属性”是什么意思,但在VS2013(抱歉,没有VC8)中,调试的程序参数是在属性/配置属性/调试/命令参数中设置的。不要忘记为调试配置设置这些参数。感谢@1201programalam,更改启动项目修复了命令参数问题。我现在可以调试原始问题了。