2015-08-29 118 views
1

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

这里的布局:

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文件位于何处,因此我浏览了debug目录(solutiondir \ debug),然后调试器就能够运行program.exe。到现在为止还挺好。

问题是我无法越过“使用”功能,因为命令行参数没有被拾取。我编辑了程序的属性,其中有明确的参数,但argc == 1,唯一的参数是程序名,清楚地表明“Command Arguments”被忽略或未找到。

我在想这个问题是否与目录结构有关,或者是否有像$(target)这样需要设置的变量,尽管我已经尝试过设置。我错过了什么吗?任何帮助表示赞赏。

+0

是否将构建program.exe的项目设置为默认项目?这是它开始调试时运行的那个。如果一个DLL是默认的,它会询问可执行文件。 – 1201ProgramAlarm

+0

我在这种情况下的建议是从零开始重新创建项目。不要依赖Visual Studio的项目自动转换。 – john

+0

我不确定你的意思是“程序的属性”,但是在VS2013中(抱歉,没有VC8),调试的程序参数在属性/配置属性/调试/命令参数中设置。并且不要忘记为调试配置设置这些。 – john

回答

1

将构建程序可执行文件的项目设置为默认项目,这将在您开始调试时运行。