错误 LNK1104:错误消息中显示的路径未在其他依赖项中定义

error LNK1104 : the path shown in the error message is not defined in additional dependencies

本文关键字:错误 其他 依赖 定义 LNK1104 消息 显示 路径      更新时间:2023-10-16

我在Visual Studio中收到错误LNK1104:

LNK1104无法打开文件"./x64/Release/zlib.lib"

编译我的项目时。

关键是我看不到在项目属性中链接器的其他依赖项中定义的相应路径。

当我将zlib.lib的正确路径添加到依赖项列表中或删除它时,会显示错误。

以下是项目编译CMD行和链接器:

/Yu"stdafx.h" /GS /GL /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /sdl /Fd"C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfPMDFiltertempReleasevc140.pdb" /Zc:inline /fp:precise /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD /Fa"C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfPMDFiltertempRelease" /EHsc /nologo /Fo"C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfPMDFiltertempRelease" /Fp"C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfPMDFiltertempReleasePMDFilter.pch" 

/OUT:"C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfPMDFilterbinReleasePMDFilter.exe" /MANIFEST /LTCG:incremental /NXCOMPAT /PDB:"C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfPMDFilterbinReleasePMDFilter.pdb" /DYNAMICBASE "C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfopennurbs_20130711binReleaseopennurbs.lib" "C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfopennurbs_20130711zlibbinReleasezlib.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEBUG /MACHINE:X64 /OPT:REF /INCREMENTAL:NO /PGD:"C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfPMDFilterbinReleasePMDFilter.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"C:UsersmeDocumentsVisual Studio 2015ProjectsAnalysePMDSurfPMDFiltertempReleasePMDFilter.exe.intermediate.manifest" /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /TLBID:1  

不确定,但是您是否尝试过两个"\"而不是一个"\"?

此外,其中一些错误可能是链接器工具错误LNK1104:

  • 磁盘空间不足。
  • 文件不存在。
  • 在项目的属性页对话框中指定库时,
    库名称应用空格(而不是逗号(分隔。
  • 文件名或路径不正确。
  • 驱动器规格无效。
  • 文件权限不足。
  • 文件名的路径扩展到 260 个字符以上。
  • 如果给定文件名为 LNKn,则由 链接器 对于临时文件,TMP 环境变量中指定的目录
    可能不存在,或者
    为 TMP 环境变量指定了多个目录。只应为 TMP 环境变量指定一个目录路径
  • 如果出现库名称错误消息,并且您最近
    从以前的 Microsoft Visual C++ 开发中移植了 .mak 文件 系统,则库可能不再有效。确保在这种情况下
    库仍然存在。

  • 另一个程序可能打开了该文件,而链接器无法写入 它。

  • 不正确的 LIB 环境变量。有关如何更新的信息 LIB 环境变量,请参阅 VC++ 目录属性页 。
    确保此处列出了包含所需库的任何目录。

好吧,我可以这样解决它:创建一个新的解决方案和新项目,复制粘贴所有代码文件。为新项目设置链接,一切都很好。

相关文章: