C++ VisualStudio 2015链接器寻找VS 2010库
我正试图在VS2015中用boost.python 1_67_0从1_53和python 35编译一个旧的VS2010项目 编译它并不太难,只是做了一些调整,包括path和将两个Python2字符串处理更新为Python3 但我被困在链接上,因为链接器在以下方面失败:C++ VisualStudio 2015链接器寻找VS 2010库,c++,boost-python,programmers-notepad,C++,Boost Python,Programmers Notepad,我正试图在VS2015中用boost.python 1_67_0从1_53和python 35编译一个旧的VS2010项目 编译它并不太难,只是做了一些调整,包括path和将两个Python2字符串处理更新为Python3 但我被困在链接上,因为链接器在以下方面失败: 链接:致命错误LNK1104:无法打开文件“boost\u python-vc100-mt-gd-1\u 67.lib” 这真的没有意义,因为库版本应该是vc140。在库路径中确实存在libboost_python35-vc140
链接:致命错误LNK1104:无法打开文件“boost\u python-vc100-mt-gd-1\u 67.lib”
这真的没有意义,因为库版本应该是vc140。在库路径中确实存在libboost_python35-vc140-mt-gd-x32-1_67.lib和其他一些libboost_python35-vc140*选项
“boost_python-vc100-mt-gd-1_67.lib”这个名字是从哪里来的?(即,这是我在配置中遗漏的吗?在Visual Studio Boost下,使用Boost/configure/auto_link.hpp生成库名称并将它们添加到链接器的依赖项中。这段代码的一个参数是BOOST_LIB_NAME,BOOST::python的名称在BOOST/python/detail/config.hpp中定义。在版本1\u 67\u 0中,目前:
#定义BOOST_LIB_NAME BOOST_python##PY#PY#PY#PY#PY#MINOR_版本
其中python patchlevel.h有PY_MAJOR_版本和PY_MINOR_版本的定义
这意味着库名称本身不需要显式添加到VisualStudio项目中。只是boostlibraries目录的路径
对于我来说,我需要从以下位置删除任何(boost)库名称:
- 配置属性>链接器>输入>其他依赖项
- 配置属性>链接器>所有选项>其他依赖项
C:\dev\boost\boost\u 1\u 67\u 0>b2.exe link=shared,static——使用python-a
boost可以在构建库时确定需要链接哪些库。所以这里的基本诊断是您没有重建boost。谁知道,没有人喜欢嚼锡纸。考虑到“工作到”。通过“物业经理”查看项目属性>链接器>所有选项并找到库。但是现在我有了LINK:fatal error LNK1104:无法打开文件'boost\u pythonPY\u MAJOR\u VERSIONPY\u MINOR\u VERSION-vc140-mt-gd-x32-1\u 67.lib'
,我打赌这是因为PY\u MAJOR\u版本和PY\u MINOR\u版本没有在某处定义……我只有boost 1\u 67,它刚刚下载和构建,所有的库都在那里。它不是boost,只是一些插入到配置中的项目属性。