错误LNK1104无法打开文件';。obj' PROJECT1 D:\ project1 \ source \ project1 \ project1 \ LINK 1
我使用visual studio 2015和openframeworks,我对c ++语言还是比较新的。
我无法找到引用此文件的代码行。
有没有人遇到类似的错误,或者是否知道找到此错误原因的提示?
答案 0 :(得分:3)
构建过程有两个主要步骤:
在编译阶段,obj文件是从源文件构建的。在链接步骤中,这些obj文件被“连接”解析未解析的引用并构建最终输出(静态/动态库或可执行文件)。
您的错误是链接器错误,表示无法找到其中一个已编译的文件。这可能发生在:
您是否有任何其他错误消息或警告?请检查您是否实际构建了指定的项目(以及实际的源文件)。作为第一步,您可以在Build - >中查看它。配置管理器。查看“构建”列中的复选框。
答案 1 :(得分:1)
我已经建立了一个静态库,例如 TempLibrary.lib 。我正在将此库与我的应用程序链接,并在VS2015中遇到上述错误。问题是,我只提到库的名称,而我缺少扩展名。也就是说,我在
中仅添加了名称“ TempLibrary”Linker-> Input->其他依赖项。
在我将扩展名(.lib)添加到名称后,链接器问题得到解决。即TempLibrary.lib
答案 2 :(得分:0)
如何设置链接器的输入路径?对于C / C ++,我发现Visual Studio的以下位置是链接编译器链接阶段(至少在社区中)引用库文件的正确方法 NOT 2017版)。我有一个名为“ lib ”的项目文件夹,其中包含我所有的.lib文件。最初,我指定的值是
this.createInvitationForm.reset();
我收到如下错误消息:
Linker --> General --> Additional Library Directories: $(ProjectDir)lib;%(AdditionalDependencies)
我发现 这 是指定库目录的正确方法:
error LNK1104: cannot open file 'lib.obj'
就我而言,我的价值是:
VC++ Directories --> Library Directories