我想(用了几天的时间)来构建一个由C++代码生成的,带有python的boost/python。我是来自德国的学生,主要与Java有关(我之前用C++写过一些基本的OpenGL和gimp过滤器)。因此,请提前谅解我英语不好或C++初学者的错误。我的意思是,与C++相比,使用Java进行编程确实更加舒适。但足够的冲突。boost 1.53蟒蛇致命错误LNK1104 boost_python-vc110-mt-gd-1_53.lib
错误:
LINK : fatal error LNK1104: File "boost_python-vc110-mt-gd-1_53.lib" could not be openend
我的预设:
- 使用MS的Visual Studio 2012(11.0)
- 使用boost_1_53_0
- 使用python2.7(听说3.3可能会导致一些问题)
我做了什么:
安装了python并将其添加到PATH。然后创建在VS一个新的空项目和一个类文件“Test.cpp的”与以下内容升压教程页面上描述:
char const* greet()
{
return "hello world";
}
#include <boost/python.hpp>
BOOST_PYTHON_MODULE(Test)
{
using namespace boost::python
def("greet", greet);
}
随后而来的新的部分对我来说,在VS项目属性:
配置属性>常规> Configurationtype>动态库(.dll)
C/C++>常规>加成Includedirectories> C:[..] \ boost_1_53_0
接头>常规>附加库目录> C: [..] boost_1_53_0 \ stage \ lib
从错误我假设我做了链接器或包括错误。我还将链接器>常规>附加库目录更改为boost_1_53_0 \ libs,因为我不确定,但发生了同样的错误。是的,我正确地包含了python。我也不确定是否必须在python旁边添加其他内容到Linker> Input for boost。
然后我用bjam构建boost,除了msvc-11.0之外没有任何选项,以确保拥有我需要的所有东西(虽然我读过boost/python不需要额外的构建)并仍然出现相同的错误。有人能帮我吗?我很想有一个一步一步的描述做什么。我真的很失望。
btw:我和这个人在Linker error LNK1104 with 'libboost_filesystem-vc100-mt-s-1_49.lib'之前几天有同样的错误,于是我停止了对它的工作,当我重新开始时,我得到了全新的错误(我无法告诉你这是怎么发生的)。
检查磁盘上如果有问题的库(和libboost_filesystem-VC100-MT-S -1_49.lib')甚至生成。 – SChepurin 2013-04-08 14:57:27
不,它不是。但我不知道我该如何得到它?我尝试用bjam静态和动态构建boost。没有改变任何东西 – 2013-04-08 15:58:00
简单的方法是在Internet上搜索已建好的boost库。与http://code.google.com/p/mataes/source/browse/Miranda/boost_1_49_0/lib/?r=1959一样。下载并链接到该项目。 – SChepurin 2013-04-08 17:07:44