我在Visual Studio 2008中创建了一个新的C ++项目。仅项目设置已更改。
当我编译项目时,我收到以下致命错误:
致命错误LNK1104:无法打开文件'C:\ Program.obj'
我在Visual Studio 2008中创建了一个新的C ++项目。仅项目设置已更改。
当我编译项目时,我收到以下致命错误:
致命错误LNK1104:无法打开文件'C:\ Program.obj'
Answers:
此特定问题是由于指定对路径中带有空格的lib文件的依赖关系引起的。路径需要用引号引起来,才能正确编译项目。
在项目属性的“ 配置属性”->“链接器”->“输入”选项卡上,有一个“ 附加依赖项”属性。通过将以下属性更改为已解决此问题:
C:\ Program Files \ sofware sdk \ lib \ library.lib
至:
“ C:\ Program Files \ sofware sdk \ lib \ library.lib”
我在哪里加了引号。
"C:\Program Files\sofware sdk\lib\library.lib"
。缺少a ;
也将导致项目无法正确编译。
如果文件也仍在运行,则可能发生这种情况。
:-1:错误:LNK1104:无法打开文件'debug \ ****。exe'
关闭并重新打开Visual Studio之后,该问题对我来说消失了。不知道为什么会发生问题,但这可能值得一试。
这是在VS 2013 Ultimate Windows 8.1上。
还要检查一下您是否没有打开它:配置属性-> C / C ++->预处理程序->预处理到文件。
解决方案1(对于我而言):重新启动Windows资源管理器进程(是,Windows文件管理器)。
解决方案2:
我认为有时文件系统或控制它的人会因其权限而丢失。在重新启动Windows会话之前,尝试杀死僵尸msbuild32.exe
进程,重新启动Visual Studio,甚至不显示问题文件也不进行任何检查。没有构建配置问题。它不时发生。Windows中的某些内部问题无法修复,需要重新启动。
我遇到了同样的错误,只是安装了一个Nuget软件包(一个不是仅标头),然后尝试卸载。
对我而言,出问题的是,我仍然在一个.cpp文件中包含刚卸载的程序包的头文件(很傻,是的)。
我什至删除了其中的其他库目录链接Project -> Properties -> Linker -> General
,但是由于我仍在尝试引用不存在的标头,因此毫无用处。
在这种情况下,绝对是一个令人困惑的错误消息,因为标题名称是,<boost/filesystem.hpp>
但是错误给了我"cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"
并且没有行号或其他任何内容。
我遇到了同样的问题,但是答案中未列出针对我的案例的解决方案。我的防病毒程序(AVG)将文件确定MyProg.exe
为病毒,并将其放入“病毒库”。您需要检查此仓库以及文件是否存在-然后将其还原。它帮助了我。
我根据以下列表检查了所有设置:http : //msdn.microsoft.com/zh-cn/library/ts7eyw4s.aspx#feedback。这对我有帮助,对于我自己的情况,我发现项目属性的链接依赖项带有双引号,因此不应该使用双引号。
就我而言,我已经用GLM替换了先前Game Engine Graphics课程中的数学库文件。问题是我没有将它们添加到Visual Studio的解决方案资源管理器中的项目中(即使它们位于项目存储库中)。
结合LNK2038错误,我遇到了这个问题,并关注了这篇文章,我对RELEASE和DEBUG DLL进行了隔离。在此过程中,我清理了这些依赖项所在的整个文件夹。
幸运的是,我已经备份了所有这些文件,并将该错误被抛回该文件的文件放回到DEBUG文件夹中以解决问题。错误代码在某种程度上具有误导性,因为我不得不花费大量时间再次从本文中的一个答案中获得提示。
希望这个答案,对有需要的人有所帮助。
在Visual Studio 2019中构建VC ++ DLL时出现此确切错误:
LNK1104:无法打开文件“ C:\ Program.obj”
在项目“属性”>“链接器”>“输入”>“模块定义文件”下,我指定了一个def文件,该文件名末尾有不匹配的双引号。删除不匹配的双引号可以解决此问题。
我遇到了同样的问题,我刚刚将代码复制到新项目并开始构建。其他错误开始出现。错误C4996:'fopen':此函数或变量可能不安全。考虑改用fopen_s
为了再次解决该问题,我在Project项目中添加了我的一个属性,如下所示。项目->属性->配置属性-> c / c ++。在此类别中,有一个字段名预处理程序定义我已经添加了_CRT_SECURE_NO_WARNINGS这个名称来解决问题希望对您有所帮助...
谢谢