问题
解决方案的配置分为release和debug版本,至于其中的区别不再阐述。默认下会生成release和debug文件夹,包括编译的中间文件以及最终的生成文件。启动调试和开始运行,指定的调试或者运行的目录是不一样的,调试的时候启动的并不是debug文件夹下面的可执行程序,除非指定了调试的目录,默认情况下,是以工程目录$(ProjectDir)定义的目录为调试目录,这个是vc.proj文件所在的目录。如果程序依赖其他的文件或者dll,都必须拷贝到当前的目录下,否则执行出错。所以很自然的想到手动设置调试目录,而不是由系统指定,毕竟软件项目中依赖很多用户指定的dll
解决VS2005
在链接器常规中指定输出文件,这个时候就会以当前的目录作为调试的目录
解决VS2010 VS2012
配置属性常规中指定输出目录,这个目录是调试的时候启动程序的目录,在VS05中的
设置链接器的输出文件目录,在这里已经不起作用,所以在输出目录中指定调试程序的生成目录
解决VS2015
配置属性中链接器的常规配置项中,虽然指定了输出文件,但是这个并不是VS调试的时候,会调用的目录可执行程序,需要在调试中填写输出文件的所在目录
比如,工程中设置输出文件..\outputs\mytest.exe,在调试中的工作目录必须设置为..\outputs,然后在常规页面上填写目标文件名mytest,同时指定输出目录..\outputs\(常规页面的设置是告诉调试器去×××到exe可执行程序,然后作为程序的当前目录进行执行)
提醒
在配置属性中经常可以看到一些宏定义变量,例如:$(SolutionDir),$(ProjectDir),$(OutDir),可以通过编辑文件路径,查看宏可以看到对应的值.非常容易理解
$(SolutionDir)就是工程解决方案sln文件所在的目录
$(ProjectDir)就是vc.proj文件所在的目录,一般跟源码是同一级目录
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。