错误LNK1104无法打开文件 ';。obj'
Error LNK1104 cannot open file ';.obj'
错误LNK1104无法打开文件';。obj'项目1D: \project1\source\project1\project1\LINK 1
我使用的是visualstudio2015和openframework,我对c++语言还很陌生。
我找不到一行引用此文件的代码。
有没有人出现过类似的错误,或者知道找出错误原因的任何技巧?
构建过程有两个主要步骤:
- 编译
- 链接
在编译阶段,obj文件是从源文件构建的。在链接步骤中,这些obj文件被"连接"以解析未解析的引用,并构建最终输出(静态/动态库或可执行文件)。
您的错误是链接器错误,表示找不到已编译的文件之一。这种情况可能发生在:
- 编译失败(如果有,请检查以前的错误)
- 由于某些原因,将跳过指定源文件的编译(当整个项目被排除在生成过程之外,或者您指定它应该只保存预处理的文件时,可能会发生这种情况)
你还有其他错误消息或警告吗?请检查您是否真的在构建指定的项目(以及实际的源文件)。作为第一步,您可以在构建->配置管理器中检查它。查看"构建"列中的复选框。
如何设置Linker的输入路径?对于C/C++,我发现对于Visual Studio,下面列出的位置是NOT在编译器链接阶段引用库文件的正确方式(至少在Community Version 2017中是这样)。我有一个名为"lib"的项目文件夹,其中包含我所有的.lib文件。最初我指定了一个值,比如(这是错误的):
Linker --> General --> Additional Library Directories: $(ProjectDir)lib;%(AdditionalDependencies)
我收到了错误消息,比如:
error LNK1104: cannot open file 'lib.obj'
我发现这个是指定库目录的正确方式:
VC++ Directories --> Library Directories
就我而言,我的价值是:
VC++ Directories --> Library Directories: $(ProjectDir)lib;$(LibraryPath)
我已经构建了一个静态库,比如TempLibrary.lib。我正在将这个库与我的应用程序链接,并在VS2015中出现了上述错误。问题是,我只提到了库的名称,并且错过了扩展。即我只添加了名称";TempLibrary";在中
链接器->输入->其他依赖项。
在我将扩展名(.lib)添加到名称后,链接器问题得到了解决。即TempLibrary.lib
- 如何在.obj文件上运行IlDasm?
- 在 opengl 中渲染 obj 文件时出现黑窗口
- 使用 Boost.Spirit 解析具有混合数据类型的 OBJ 文件?
- 正在读取 obj 文件!(指数)
- OBJ 文件C++与 ubuntu 问题
- 移植DXUT SDKMesh以导入OBJ文件,在哪里添加纹理坐标和索引
- 将多个网格放入单个波前 OBJ 文件中
- Python 脚本到 c .obj 文件
- CMake:如何在包含的标头更改时自动重建 .obj 文件
- 如何读取 .obj 文件?
- 合并 c++ obj 文件以进行 C 链接
- 我无法在 Flutter 桌面嵌入项目(在 Visual Studio 上)中创建 obj 文件
- 如何在没有CRT的情况下链接OBJ文件
- GCC.obj文件输出不具有确定性(.debug_info,PROGPITS部分)
- 将 Obj 文件导入 vtk
- Visual Studio C++ Copy obj 文件而不是编译
- 在C/C (JIT)中,在运行时加载并链接OBJ文件
- 尝试加载DirectX 11中的obj文件时,向量下标
- 用Assimp导入OBJ文件
- 错误LNK2005结构已在.obj文件中定义