Visual c++ 为什么致命错误“;LNK1104:无法打开文件';C:\Program.obj'”;在编译C++;Visual Studio中的项目?(2)
这真的是一个后续的原始问题与这个标题,但我太noob被允许评论那里(你可以合并这作为一个评论迈克?) 当我将VS2010中的命令行逐字剪切粘贴到批处理文件并尝试运行它时,我花了大约一天的时间试图找出为什么会出现这个问题 我将link.exe的完整路径放在名为“link”的批处理文件的env var中,并以如下方式运行命令: “%link%”/详细。。。雅达雅达雅达 并出现错误“LNK1104:无法打开文件'C:\Program.obj'” 这是因为VS 2010 link.exe将%link%用作链接的附加输入 由于我的%link%var是程序FQN“C:\program Files\Micro$Visual Studio 10.0…”(即包含空格),链接器试图包含“C:\program”(作为第一个空格分隔的字符串),并添加了后缀“.obj”,因为它假定这就是我的意思 然后,它试图将这个虚假文件作为输入,但没有找到它,结果失败了 我本人更像一个海湾合作委员会成员,这种行为至少可以说是出人意料的Visual c++ 为什么致命错误“;LNK1104:无法打开文件';C:\Program.obj'”;在编译C++;Visual Studio中的项目?(2),visual-c++,linker,Visual C++,Linker,这真的是一个后续的原始问题与这个标题,但我太noob被允许评论那里(你可以合并这作为一个评论迈克?) 当我将VS2010中的命令行逐字剪切粘贴到批处理文件并尝试运行它时,我花了大约一天的时间试图找出为什么会出现这个问题 我将link.exe的完整路径放在名为“link”的批处理文件的env var中,并以如下方式运行命令: “%link%”/详细。。。雅达雅达雅达 并出现错误“LNK1104:无法打开文件'C:\Program.obj'” 这是因为VS 2010 link.exe将%link%用
简单的解决方案是为我的命令变量使用不同的名称-例如%lcmd%Windows引用可能是一件非常痛苦的事情,因为它不是由shell处理的,而是由单个程序处理的。您可能需要在%link%本身的定义中包含适当的引号。Windows引号可能是一个巨大的难题,因为它不是由shell处理的,而是由单个程序处理的。您可能需要在%link%本身的定义中包含适当的引号。当您更改项目属性中的链接器设置时,可能会发生此错误。当您修改该路径时,只需在“”(双引号)
中给出该路径,例如“c:\Program file\~”
当您更改项目属性上的链接器设置时,可能会发生此错误。当您修改该路径时,只需在“(双引号)中给出该路径,例如“c:\Program file\~”