查找LNK1104文件名的来源



我正在使用CMake生成的Visual Studio项目中工作,由于某种原因,我在构建时收到一个LNK1104错误,上面写着";无法打开文件"hbost_python27-vc142-mt-x64-1_72.lib";并且对于事实,我知道该文件不存在于任何地方;hbost_python27-mt-x64.lib;那么为什么Visual Studio要这个文件呢?我该如何推导这个文件名的来源,然后修复它?这更像是一个CMake问题吗?还是Visual Studio问题?

作为参考,我正在为Houdini编译一个自定义的美元资产解析程序,下面是我正在编写的代码https://github.com/mwalk176/USD-Custom-Resolver-Windows-Example/tree/main/custom_resolver/project

我认为您的电脑上安装了相当旧的Boost版本,从最近的Boost开始,它是编写更详细语法(如hboost_python27-vc142-mt-x64-1_72.lib(的标准方法,因此它是正确的。

请尝试从这里下载Boost 1.72,或者如果您的代码与Boost的最新版本兼容,那么最好立即下载最新版本1.78。

否则,在文件系统中将文件hboost_python27-mt-x64.lib复制到hboost_python27-vc142-mt-x64-1_72.lib,或使Windows硬链接。这样在编译时就会找到它。

另一种选择是修改您当前的代码

#pragma comment(lib, HBOOST_LIB_PREFIX HBOOST_STRINGIZE(HBOOST_LIB_NAME) "-" 
HBOOST_LIB_TOOLSET HBOOST_LIB_THREAD_OPT HBOOST_LIB_RT_OPT 
HBOOST_LIB_ARCH_AND_MODEL_OPT "-" HBOOST_LIB_VERSION ".lib")

至较短版本:

#pragma comment(lib, HBOOST_LIB_PREFIX HBOOST_STRINGIZE(HBOOST_LIB_NAME) "-" 
HBOOST_LIB_THREAD_OPT HBOOST_LIB_RT_OPT HBOOST_LIB_ARCH_AND_MODEL_OPT ".lib")

此更改之后,此杂注代码将生成预期的文件名hboost_python27-mt-x64.lib

相关内容

  • 没有找到相关文章

最新更新