本文内容列表:
只需更改 VS2010 Project\Properties\Configuration Properties\Manifest Tools\Input and Output\Embedded Manifest 中的项目属性即可:将“Yes”更改为“No”
首先检查“项目”-“属性”-“链接器”-“常规”-“输出文件”,看看路径是否为“bin/xxx.exe”。如果是,请继续阅读我的回答,否则请忽略下面的内容。 你大概是在以前的VC6.0下使用VS2010来加载和调试程序吧?那么你生成的exe就存在了,不过是在项目的bin目录下。但在VS2010中,执行时必须在Debug中找到它,所以需要修改项目的输出路径,即“项目”-“属性”-“链接器”-“常规”-“输出文件”和将“bin”更改为“调试”。
如果vs2010项目依赖运行库msvcrt.lib,用vs2015打开项目时,如果项目的“链接器”属性“忽略所有默认库”设置为“是”,请将其更改为“否”,然后更新库列表(位于“其他依赖项”属性中)以包含新的重构库。将旧的 CRT 库(libcmt.lib、libcmtd.lib、msvcrt.lib、msvcrtd.lib)替换为等效的重构库,这两个库都是常见的 CRT(特别是 ucrtbase.dll 或 .lib、ucrtbased.dll 或 .lib)并且VC运行时库(libvcruntime.lib、libvcruntime.dll、libvcruntimed.lib和libvcruntimed.dll),所以这里只需要把msvcrt.lib库替换为libvcruntime.lib就可以顺利生成了。 ;如果是debug版本,则替换为对应的debug版本库。
另外,当外部符号“_imp__snprintf”无法解析时,需要将“legacy_stdio_definitions.lib”添加到附加连接库中。
很多时候,我们会把一些低版本IDE编译的项目搬到VS2010上,这样会造成很多编译和调试问题。
【1】 编译成功。但无法调试。
。显示程序“........................\test.exe”无法启动。该系统找不到指定的文件。
检查工程属性,发现{General} - 输出目录为“.\Debug\”,找不到。
所以这里需要注意的是{General}的输出目录要和{Link}的常规输出文件相对应。
例如:{Link}的常规输出文件为“\build\debug\text.exe”
那么{正常}输出目录应该是“\build\debug\”