如何在C++中使用'boost_python-vc110-mt-gd-1_54.lib'?
How to use 'boost_python-vc110-mt-gd-1_54.lib' in C++?
我正在尝试使用BoostPython编写C++程序。
我的预设是:
a. Win32 控制台应用程序。
b. 属性->C/C++->常规>附加包含目录->C:\Python27\include;C:\程序文件\提升\boost_1_54_0;
c. 属性->链接器->常规->附加库说明->C:\Python27\libs;
d. Microsoft Visual Studio 2012 Express Version + Python 27 + Boost 1.54
我的代码如下:
#include <boost/python.hpp>
using namespace boost::python;
int main( int argc, char ** argv )
{
return 0;
}
如您所见,此代码带有一个空的主函数。我收到一条错误消息
错误 LNK1104:无法打开文件"boost_python-VC110-mt-GD-1_54.lib">
我检查了 boost 的安装('bootstrap.bat'+'bjam.exe'(,并在安装了 boost 库的文件夹中搜索了 'boost_python-vc110-mt-gd-1_54.lib',但一无所获。
我寻找了一些类似的帖子,与我的问题不同,他们错过的 lib 文件带有前缀"lib"。另一方面,我发现这篇文章与我的非常相似。但是我发现OP在解决他/她的问题时犯了一个错误。也就是说,Boost与python 2.2及其更新版本兼容。他的其余回答对我没有帮助。
我想这个问题可能是因为我在安装过程中做错了什么,或者当我将库链接到我的应用程序时我错了。
谁能帮我摆脱困境?详细的解决方案会很棒。非常感谢。:)
====
====================================================================编辑:
我已经使用预构建的二进制文件重新安装了 Boost。现在我可以链接到编译器要求的 lib 文件。然而,新的问题也随之而来。现在我有两个新错误:
错误 LNK2001:未解析的外部符号__imp___Py_NoneStruct
错误 LNK1120:1 个未解析的外部
当我注释掉#include <boost/python.hpp>
行时,上述错误消失了。
我真的想不通原因。谁能帮我解决这个问题?非常感谢。
您已将 C:\Python27\libs 文件夹添加到链接器设置中,但没有 boost 文件。
您需要运行 boost 的bjam
来生成提升库文件。很多提升只是标题,但有一些库你需要构建。
完成此操作后,您需要将目录添加到
"属性>链接器>常规>附加库目录">
我发现错误是因为 Boost 库未正确安装在我的计算机中。实际上,关键是 bjam,必须运行它才能构建所有这些必要的库。
我建议遇到此问题的其他人,如果您不知道如何正确运行bjam,请去搜索Boost的预构建二进制文件。这可以为您节省大量时间。
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- Pybind11:将元组列表从Python传递到C++
- 如何在c++中使用引用实现类似python的行为
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 递归列出所有目录中的C++与Python与Ruby的性能
- IPC使用多个管道和分支进程来运行Python程序
- 从python中调用C++函数并获取返回值
- Python 3.7 和 excess_args 的 SWIG 问题
- Python中的for循环与C++有何不同
- 使用Pybind11向Python公开Eigen::张量
- Python str to C++ to Python str
- 如何使用Python从C++中读取谷物序列化数据
- 如何在C++中使用pybind11加载一个pickle python列表
- 如何在c++中使用system()来运行包含空格的python脚本
- Boost.Python 和错误LNK1104:无法打开文件'boost_python-vc100-mt-gd-1_55.lib'
- 致命错误LNK1104:无法打开文件'libboost_system-vc110-mt-gd-1_51.lib'
- 如何在C++中使用'boost_python-vc110-mt-gd-1_54.lib'?
- boost 1.53 python fatal error LNK1104 boost_python-vc110-mt-
- 如何打开文件'libboost_thread-vc110-mt-gd-1_58.lib' - cpp-netlib?
- QuantLib-vc110-mt.lib 中"mt"的含义是什么?