Boost 上的链接器错误 运行 bjam Python 教程
Linker errors running bjam on Boost Python Tutorial
我已经花了四十个小时解决这个问题,使用了我能找到的每一个提升 python 资源,以及我能想到的每一个安装和构建排列,但找不到任何有效的方法对我来说。
像我之前的许多人一样,当我在 boost/boost_1_60_0/libs/python/example/tutorial
目录中 运行 bjam 时遇到链接器错误。我有 Visual Studio 2015,我已经尝试 运行ning bjam 与 32 位 Anaconda、64 位 Anaconda 和纯 Python 2.7,通过 user-config.jam
的不同配置文件位于我的主目录中。
这是 运行使用任何设置 bjam
后的构建日志。
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
...found 7 targets...
- symlinks supported : yes
...found 1 target...
...updating 1 target...
config-cache.write bin\project-cache.jam
...updated 1 target...
...patience...
...patience...
...found 1917 targets...
...updating 9 targets...
msvc.link.dll ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll
Creating library ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.lib and object ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.exp
object_protocol.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
wrapper.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
numeric.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
enum.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
class.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
function.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
numeric.obj : error LNK2019: unresolved external symbol __imp__PyCallable_Check referenced in function "bool __cdecl boost::python::numeric::`anonymous namespace'::load(bool)" (?load@?A0xc5ed2080@numeric@python@boost@@YA_N_N@Z)
class.obj : error LNK2001: unresolved external symbol __imp__PyCallable_Check
function.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
function_doc_signature.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
numeric.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
list.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
enum.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
class.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
numeric.obj : error LNK2019: unresolved external symbol __imp__PyBool_FromLong referenced in function "public: __thiscall boost::python::converter::arg_to_python<bool>::arg_to_python<bool>(bool const &)" (??0?$arg_to_python@_N@converter@python@boost@@QAE@AB_N@Z)
class.obj : error LNK2001: unresolved external symbol __imp__PyBool_FromLong
numeric.obj : error LNK2019: unresolved external symbol __imp__PyString_FromStringAndSize referenced in function "public: __thiscall boost::python::converter::arg_to_python<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::arg_to_python<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$arg_to_python@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@converter@python@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
str.obj : error LNK2001: unresolved external symbol __imp__PyString_FromStringAndSize
builtin_converters.obj : error LNK2001: unresolved external symbol __imp__PyString_FromStringAndSize
function_doc_signature.obj : error LNK2001: unresolved external symbol __imp__PyString_FromStringAndSize
numeric.obj : error LNK2019: unresolved external symbol __imp__PyErr_Clear referenced in function "bool __cdecl boost::python::numeric::`anonymous namespace'::load(bool)" (?load@?A0xc5ed2080@numeric@python@boost@@YA_N_N@Z)
class.obj : error LNK2001: unresolved external symbol __imp__PyErr_Clear
function.obj : error LNK2001: unresolved external symbol __imp__PyErr_Clear
object_protocol.obj : error LNK2001: unresolved external symbol __imp__PyErr_Clear
function.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
numeric.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
from_python.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
registry.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
class.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
enum.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
class.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
pickle_support.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
stl_iterator.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
numeric.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
list.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
dict.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
str.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
numeric.obj : error LNK2019: unresolved external symbol __imp__PyImport_Import referenced in function "bool __cdecl boost::python::numeric::`anonymous namespace'::load(bool)" (?load@?A0xc5ed2080@numeric@python@boost@@YA_N_N@Z)
numeric.obj : error LNK2019: unresolved external symbol __imp__PyObject_IsInstance referenced in function "public: static bool __cdecl boost::python::numeric::aux::array_object_manager_traits::check(struct _object *)" (?check@array_object_manager_traits@aux@numeric@python@boost@@SA_NPAU_object@@@Z)
from_python.obj : error LNK2001: unresolved external symbol __imp__PyObject_IsInstance
class.obj : error LNK2001: unresolved external symbol __imp__PyObject_IsInstance
wrapper.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
import.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
exec.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
function_doc_signature.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
iterator.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
stl_iterator.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
object_protocol.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
object_operators.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
life_support.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
pickle_support.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
module.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
builtin_converters.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
registry.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
enum.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
class.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
function.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
tuple.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
str.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
slice.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
from_python.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
numeric.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
list.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
long.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
dict.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
numeric.obj : error LNK2001: unresolved external symbol __imp__PyExc_ImportError
list.obj : error LNK2019: unresolved external symbol __imp__PyInt_AsLong referenced in function "public: int __thiscall boost::python::detail::list_base::count(class boost::python::api::object const &)const " (?count@list_base@detail@python@boost@@QBEHABVobject@api@34@@Z)
str.obj : error LNK2001: unresolved external symbol __imp__PyInt_AsLong
class.obj : error LNK2001: unresolved external symbol __imp__PyInt_AsLong
builtin_converters.obj : error LNK2001: unresolved external symbol __imp__PyInt_AsLong
list.obj : error LNK2019: unresolved external symbol __imp__PyList_New referenced in function "protected: __thiscall boost::python::detail::list_base::list_base(void)" (??0list_base@detail@python@boost@@IAE@XZ)
list.obj : error LNK2019: unresolved external symbol __imp__PyList_Insert referenced in function "public: void __thiscall boost::python::detail::list_base::insert(int,class boost::python::api::object const &)" (?insert@list_base@detail@python@boost@@QAEXHABVobject@api@34@@Z)
list.obj : error LNK2019: unresolved external symbol __imp__PyList_Append referenced in function "public: void __thiscall
....
....(too many to put here)
....
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Add referenced in function "class boost::python::api::object __cdecl boost::python::api::operator+(class boost::python::api::object const &,class boost::python::api::object const &)" (??Hapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Subtract referenced in function "class boost::python::api::object __cdecl boost::python::api::operator-(class boost::python::api::object const &,class boost::python::api::object const &)" (??Gapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Multiply referenced in function "class boost::python::api::object __cdecl boost::python::api::operator*(class boost::python::api::object const &,class boost::python::api::object const &)" (??Dapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Divide referenced in function "class boost::python::api::object __cdecl boost::python::api::operator/(class boost::python::api::object const &,class boost::python::api::object const &)" (??Kapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Remainder referenced in function "class boost::python::api::object __cdecl boost::python::api::operator%(class boost::python::api::object const &,class boost::python::api::object const &)" (??Lapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Lshift referenced in function "class boost::python::api::object __cdecl boost::python::api::operator<<(class boost::python::api::object const &,class boost::python::api::object const &)" (??6api@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Rshift referenced in function "class boost::python::api::object __cdecl boost::python::api::operator>>(class boost::python::api::object const &,class boost::python::api::object const &)" (??5api@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_And referenced in function "class boost::python::api::object __cdecl boost::python::api::operator&(class boost::python::api::object const &,class boost::python::api::object const &)" (??Iapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Xor referenced in function "class boost::python::api::object __cdecl boost::python::api::operator^(class boost::python::api::object const &,class boost::python::api::object const &)" (??Tapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Or referenced in function "class boost::python::api::object __cdecl boost::python::api::operator|(class boost::python::api::object const &,class boost::python::api::object const &)" (??Uapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceAdd referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator+=(class boost::python::api::object &,class boost::python::api::object const &)" (??Yapi@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceSubtract referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator-=(class boost::python::api::object &,class boost::python::api::object const &)" (??Zapi@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceMultiply referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator*=(class boost::python::api::object &,class boost::python::api::object const &)" (??Xapi@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceDivide referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator/=(class boost::python::api::object &,class boost::python::api::object const &)" (??_0api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceRemainder referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator%=(class boost::python::api::object &,class boost::python::api::object const &)" (??_1api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceLshift referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator<<=(class boost::python::api::object &,class boost::python::api::object const &)" (??_3api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceRshift referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator>>=(class boost::python::api::object &,class boost::python::api::object const &)" (??_2api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceAnd referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator&=(class boost::python::api::object &,class boost::python::api::object const &)" (??_4api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceXor referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator^=(class boost::python::api::object &,class boost::python::api::object const &)" (??_6api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceOr referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator|=(class boost::python::api::object &,class boost::python::api::object const &)" (??_5api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
wrapper.obj : error LNK2019: unresolved external symbol __imp__PyDict_GetItemString referenced in function "protected: class boost::python::override __thiscall boost::python::detail::wrapper_base::get_override(char const *,struct _typeobject *)const " (?get_override@wrapper_base@detail@python@boost@@IBE?AVoverride@34@PBDPAU_typeobject@@@Z)
wrapper.obj : error LNK2001: unresolved external symbol __imp__PyMethod_Type
import.obj : error LNK2019: unresolved external symbol __imp__PyImport_ImportModule referenced in function "class boost::python::api::object __cdecl boost::python::import(class boost::python::str)" (?import@python@boost@@YA?AVobject@api@12@Vstr@12@@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyFile_FromString referenced in function "class boost::python::api::object __cdecl boost::python::exec_file(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?exec_file@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyFile_AsFile referenced in function "class boost::python::api::object __cdecl boost::python::exec_file(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?exec_file@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyRun_StringFlags referenced in function "class boost::python::api::object __cdecl boost::python::eval(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?eval@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyRun_FileExFlags referenced in function "class boost::python::api::object __cdecl boost::python::exec_file(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?exec_file@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyEval_GetGlobals referenced in function "class boost::python::api::object __cdecl boost::python::eval(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?eval@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
C:\Users\Joey\Anaconda2\libs\python27.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'X86'
..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll : fatal error LNK1120: 135 unresolved externals
call "C:\Users\Joey\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console /out:"..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll" /IMPLIB:"..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.lib" /LIBPATH:"C:\Users\Joey\Anaconda2\libs" @"..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link.dll ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.lib ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.pdb...
...removing ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.lib
...removing ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.pdb
...skipped <pbin\msvc-14.0\debug\threading-multi>hello_ext.dll for lack of <p..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi>boost_python-vc140-mt-gd-1_60.lib...
...skipped <pbin\msvc-14.0\debug\threading-multi>hello_ext.pdb for lack of <p..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi>boost_python-vc140-mt-gd-1_60.lib...
...skipped <p.>boost_python-vc140-mt-gd-1_60.dll for lack of <p..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi>boost_python-vc140-mt-gd-1_60.dll...
...skipped <p.>hello_ext.dll for lack of <pbin\msvc-14.0\debug\threading-multi>hello_ext.dll...
...skipped <pbin\hello.test\msvc-14.0\debug\threading-multi>hello for lack of <pbin\msvc-14.0\debug\threading-multi>hello_ext.dll...
...failed updating 3 targets...
...skipped 6 targets...
我已经尝试了很多用户-config.jam 设置,包括以下每个 msvc 设置:
using msvc : 14.0 ;
using msvc : 14.0 : "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin" ;
using msvc ;
以及 python 的以下内容:
using python ;
using python : 2.7 ;
using python : 2.7 : C:/Users/Joey/Anaconda2 ;
using python : 2.7 : "C:/Users/Joey/Anaconda2 (32-bit)" ;
using python
: 2.7 # Version
: C:\Users\Joey\Anaconda2\python.exe # Python Path
: C:\Users\Joey\Anaconda2\include # include path
: C:\Users\Joey\Anaconda2\libs # lib path(s)
: <define>BOOST_ALL_NO_LIB=1
;
bjam的设置,我试过了
bjam
bjam address-model=64
bjam address-model=64 architecture=x86
我已经尝试了整个 Boost 库的 32 位和 64 位版本,结果相同。
当我 运行 bjam address-model=64
时,我更快地得到以下错误:
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
- symlinks supported : no (cached)
- junctions supported : yes (cached)
- hardlinks supported : yes (cached)
...found 1 target...
...updating 1 target...
config-cache.write bin\project-cache.jam
...updated 1 target...
...patience...
...patience...
...found 1924 targets...
...updating 5 targets...
msvc.link.dll bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd
Creating library bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb and object bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.exp
LINK : fatal error LNK1104: cannot open file 'bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb'
call "C:\Users\Joey\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_amd64.cmd" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /NOENTRY /DEBUG /MACHINE:X64 /MANIFEST /subsystem:console /out:"bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd" /IMPLIB:"bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb" /LIBPATH:"C:\Users\Joey\Anaconda2\libs" @"bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link.dll bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb...
...removing bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd
...skipped <p.>hello_ext.pyd for lack of <pbin\msvc-14.0\debug\address-model-64\threading-multi>hello_ext.pyd...
...skipped <pbin\hello.test\msvc-14.0\debug\address-model-64\threading-multi>hello for lack of <pbin\msvc-14.0\debug\address-model-64\threading-multi>hello_ext.pyd...
...failed updating 2 targets...
...skipped 3 targets...
我是 运行ning Windows10 64 位。
如果有人对要尝试的事情、问题的性质或任何其他可能有帮助的事情有任何直觉,我将不胜感激。我几乎 运行 没主意了。
编辑
我用过
import toolset : using ;
using msvc : 14.0 ;
using python
: 2.7 # Version
: C:\Python27\python.exe # Interpreter
: C:\Python27\include # inc dir
: C:\Python27\libs # link libs
: # conditions
;
现在得到这个,类似于 this post。
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
...found 7 targets...
- symlinks supported : yes
...found 1 target...
...updating 1 target...
config-cache.write bin\project-cache.jam
...updated 1 target...
...patience...
...patience...
...found 1916 targets...
...updating 5 targets...
msvc.link.dll bin\msvc-14.0\debug\threading-multi\hello_ext.pyd
Creating library bin\msvc-14.0\debug\threading-multi\hello_ext.pdb and object bin\msvc-14.0\debug\threading-multi\hello_ext.exp
LINK : fatal error LNK1207: incompatible PDB format in 'C:\Program Files\boost\boost_1_60_0_64\libs\python\example\tutorial\bin\msvc-14.0\debug\threading-multi\hello_ext.pdb'; delete and rebuild
call "C:\Users\Joey\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /NOENTRY /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console /out:"bin\msvc-14.0\debug\threading-multi\hello_ext.pyd" /IMPLIB:"bin\msvc-14.0\debug\threading-multi\hello_ext.pdb" /LIBPATH:"C:\Python27\libs" @"bin\msvc-14.0\debug\threading-multi\hello_ext.pyd.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link.dll bin\msvc-14.0\debug\threading-multi\hello_ext.pyd bin\msvc-14.0\debug\threading-multi\hello_ext.pdb bin\msvc-14.0\debug\threading-multi\hello_ext.pdb...
...removing bin\msvc-14.0\debug\threading-multi\hello_ext.pdb
...skipped <p.>hello_ext.pyd for lack of <pbin\msvc-14.0\debug\threading-multi>hello_ext.pyd...
...skipped <pbin\hello.test\msvc-14.0\debug\threading-multi>hello for lack of <pbin\msvc-14.0\debug\threading-multi>hello_ext.pyd...
...failed updating 2 targets...
...skipped 3 targets...
我遇到了和你类似的问题,发现这是罪魁祸首:
C:\Users\Joey\Anaconda2\libs\python27.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'X86'
您正在混合不同位数的库。在构建 64 位 Boost Python 时,您必须 link 到 64 位 Python 并且对于 32 位构建也是如此。
确保将 Python 的两个版本安装到不同的目录。我在安装程序中使用了默认目录,并且两个安装最终都在同一个目录中。即使我在安装 32 位版本之后安装了 64 位版本,我的 Python libs/ 文件夹中仍然只有 32 位库。
我已经花了四十个小时解决这个问题,使用了我能找到的每一个提升 python 资源,以及我能想到的每一个安装和构建排列,但找不到任何有效的方法对我来说。
像我之前的许多人一样,当我在 boost/boost_1_60_0/libs/python/example/tutorial
目录中 运行 bjam 时遇到链接器错误。我有 Visual Studio 2015,我已经尝试 运行ning bjam 与 32 位 Anaconda、64 位 Anaconda 和纯 Python 2.7,通过 user-config.jam
的不同配置文件位于我的主目录中。
这是 运行使用任何设置 bjam
后的构建日志。
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
...found 7 targets...
- symlinks supported : yes
...found 1 target...
...updating 1 target...
config-cache.write bin\project-cache.jam
...updated 1 target...
...patience...
...patience...
...found 1917 targets...
...updating 9 targets...
msvc.link.dll ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll
Creating library ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.lib and object ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.exp
object_protocol.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
wrapper.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
numeric.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
enum.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
class.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
function.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
numeric.obj : error LNK2019: unresolved external symbol __imp__PyCallable_Check referenced in function "bool __cdecl boost::python::numeric::`anonymous namespace'::load(bool)" (?load@?A0xc5ed2080@numeric@python@boost@@YA_N_N@Z)
class.obj : error LNK2001: unresolved external symbol __imp__PyCallable_Check
function.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
function_doc_signature.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
numeric.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
list.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
enum.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
class.obj : error LNK2001: unresolved external symbol __imp__PyInt_FromLong
numeric.obj : error LNK2019: unresolved external symbol __imp__PyBool_FromLong referenced in function "public: __thiscall boost::python::converter::arg_to_python<bool>::arg_to_python<bool>(bool const &)" (??0?$arg_to_python@_N@converter@python@boost@@QAE@AB_N@Z)
class.obj : error LNK2001: unresolved external symbol __imp__PyBool_FromLong
numeric.obj : error LNK2019: unresolved external symbol __imp__PyString_FromStringAndSize referenced in function "public: __thiscall boost::python::converter::arg_to_python<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::arg_to_python<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$arg_to_python@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@converter@python@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
str.obj : error LNK2001: unresolved external symbol __imp__PyString_FromStringAndSize
builtin_converters.obj : error LNK2001: unresolved external symbol __imp__PyString_FromStringAndSize
function_doc_signature.obj : error LNK2001: unresolved external symbol __imp__PyString_FromStringAndSize
numeric.obj : error LNK2019: unresolved external symbol __imp__PyErr_Clear referenced in function "bool __cdecl boost::python::numeric::`anonymous namespace'::load(bool)" (?load@?A0xc5ed2080@numeric@python@boost@@YA_N_N@Z)
class.obj : error LNK2001: unresolved external symbol __imp__PyErr_Clear
function.obj : error LNK2001: unresolved external symbol __imp__PyErr_Clear
object_protocol.obj : error LNK2001: unresolved external symbol __imp__PyErr_Clear
function.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
numeric.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
from_python.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
registry.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
class.obj : error LNK2001: unresolved external symbol __imp__PyErr_Format
enum.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
class.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
pickle_support.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
stl_iterator.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
numeric.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
list.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
dict.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
str.obj : error LNK2001: unresolved external symbol __imp__PyEval_CallFunction
numeric.obj : error LNK2019: unresolved external symbol __imp__PyImport_Import referenced in function "bool __cdecl boost::python::numeric::`anonymous namespace'::load(bool)" (?load@?A0xc5ed2080@numeric@python@boost@@YA_N_N@Z)
numeric.obj : error LNK2019: unresolved external symbol __imp__PyObject_IsInstance referenced in function "public: static bool __cdecl boost::python::numeric::aux::array_object_manager_traits::check(struct _object *)" (?check@array_object_manager_traits@aux@numeric@python@boost@@SA_NPAU_object@@@Z)
from_python.obj : error LNK2001: unresolved external symbol __imp__PyObject_IsInstance
class.obj : error LNK2001: unresolved external symbol __imp__PyObject_IsInstance
wrapper.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
import.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
exec.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
function_doc_signature.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
iterator.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
stl_iterator.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
object_protocol.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
object_operators.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
life_support.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
pickle_support.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
module.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
builtin_converters.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
registry.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
enum.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
class.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
function.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
tuple.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
str.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
slice.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
from_python.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
numeric.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
list.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
long.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
dict.obj : error LNK2001: unresolved external symbol __imp___Py_NoneStruct
numeric.obj : error LNK2001: unresolved external symbol __imp__PyExc_ImportError
list.obj : error LNK2019: unresolved external symbol __imp__PyInt_AsLong referenced in function "public: int __thiscall boost::python::detail::list_base::count(class boost::python::api::object const &)const " (?count@list_base@detail@python@boost@@QBEHABVobject@api@34@@Z)
str.obj : error LNK2001: unresolved external symbol __imp__PyInt_AsLong
class.obj : error LNK2001: unresolved external symbol __imp__PyInt_AsLong
builtin_converters.obj : error LNK2001: unresolved external symbol __imp__PyInt_AsLong
list.obj : error LNK2019: unresolved external symbol __imp__PyList_New referenced in function "protected: __thiscall boost::python::detail::list_base::list_base(void)" (??0list_base@detail@python@boost@@IAE@XZ)
list.obj : error LNK2019: unresolved external symbol __imp__PyList_Insert referenced in function "public: void __thiscall boost::python::detail::list_base::insert(int,class boost::python::api::object const &)" (?insert@list_base@detail@python@boost@@QAEXHABVobject@api@34@@Z)
list.obj : error LNK2019: unresolved external symbol __imp__PyList_Append referenced in function "public: void __thiscall
....
....(too many to put here)
....
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Add referenced in function "class boost::python::api::object __cdecl boost::python::api::operator+(class boost::python::api::object const &,class boost::python::api::object const &)" (??Hapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Subtract referenced in function "class boost::python::api::object __cdecl boost::python::api::operator-(class boost::python::api::object const &,class boost::python::api::object const &)" (??Gapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Multiply referenced in function "class boost::python::api::object __cdecl boost::python::api::operator*(class boost::python::api::object const &,class boost::python::api::object const &)" (??Dapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Divide referenced in function "class boost::python::api::object __cdecl boost::python::api::operator/(class boost::python::api::object const &,class boost::python::api::object const &)" (??Kapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Remainder referenced in function "class boost::python::api::object __cdecl boost::python::api::operator%(class boost::python::api::object const &,class boost::python::api::object const &)" (??Lapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Lshift referenced in function "class boost::python::api::object __cdecl boost::python::api::operator<<(class boost::python::api::object const &,class boost::python::api::object const &)" (??6api@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Rshift referenced in function "class boost::python::api::object __cdecl boost::python::api::operator>>(class boost::python::api::object const &,class boost::python::api::object const &)" (??5api@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_And referenced in function "class boost::python::api::object __cdecl boost::python::api::operator&(class boost::python::api::object const &,class boost::python::api::object const &)" (??Iapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Xor referenced in function "class boost::python::api::object __cdecl boost::python::api::operator^(class boost::python::api::object const &,class boost::python::api::object const &)" (??Tapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Or referenced in function "class boost::python::api::object __cdecl boost::python::api::operator|(class boost::python::api::object const &,class boost::python::api::object const &)" (??Uapi@python@boost@@YA?AVobject@012@ABV3012@0@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceAdd referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator+=(class boost::python::api::object &,class boost::python::api::object const &)" (??Yapi@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceSubtract referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator-=(class boost::python::api::object &,class boost::python::api::object const &)" (??Zapi@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceMultiply referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator*=(class boost::python::api::object &,class boost::python::api::object const &)" (??Xapi@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceDivide referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator/=(class boost::python::api::object &,class boost::python::api::object const &)" (??_0api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceRemainder referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator%=(class boost::python::api::object &,class boost::python::api::object const &)" (??_1api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceLshift referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator<<=(class boost::python::api::object &,class boost::python::api::object const &)" (??_3api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceRshift referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator>>=(class boost::python::api::object &,class boost::python::api::object const &)" (??_2api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceAnd referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator&=(class boost::python::api::object &,class boost::python::api::object const &)" (??_4api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceXor referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator^=(class boost::python::api::object &,class boost::python::api::object const &)" (??_6api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
object_operators.obj : error LNK2019: unresolved external symbol __imp__PyNumber_InPlaceOr referenced in function "class boost::python::api::object & __cdecl boost::python::api::operator|=(class boost::python::api::object &,class boost::python::api::object const &)" (??_5api@python@boost@@YAAAVobject@012@AAV3012@ABV3012@@Z)
wrapper.obj : error LNK2019: unresolved external symbol __imp__PyDict_GetItemString referenced in function "protected: class boost::python::override __thiscall boost::python::detail::wrapper_base::get_override(char const *,struct _typeobject *)const " (?get_override@wrapper_base@detail@python@boost@@IBE?AVoverride@34@PBDPAU_typeobject@@@Z)
wrapper.obj : error LNK2001: unresolved external symbol __imp__PyMethod_Type
import.obj : error LNK2019: unresolved external symbol __imp__PyImport_ImportModule referenced in function "class boost::python::api::object __cdecl boost::python::import(class boost::python::str)" (?import@python@boost@@YA?AVobject@api@12@Vstr@12@@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyFile_FromString referenced in function "class boost::python::api::object __cdecl boost::python::exec_file(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?exec_file@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyFile_AsFile referenced in function "class boost::python::api::object __cdecl boost::python::exec_file(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?exec_file@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyRun_StringFlags referenced in function "class boost::python::api::object __cdecl boost::python::eval(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?eval@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyRun_FileExFlags referenced in function "class boost::python::api::object __cdecl boost::python::exec_file(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?exec_file@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
exec.obj : error LNK2019: unresolved external symbol __imp__PyEval_GetGlobals referenced in function "class boost::python::api::object __cdecl boost::python::eval(class boost::python::str,class boost::python::api::object,class boost::python::api::object)" (?eval@python@boost@@YA?AVobject@api@12@Vstr@12@V3412@1@Z)
C:\Users\Joey\Anaconda2\libs\python27.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'X86'
..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll : fatal error LNK1120: 135 unresolved externals
call "C:\Users\Joey\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console /out:"..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll" /IMPLIB:"..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.lib" /LIBPATH:"C:\Users\Joey\Anaconda2\libs" @"..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link.dll ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.dll ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.lib ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.pdb...
...removing ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.lib
...removing ..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi\boost_python-vc140-mt-gd-1_60.pdb
...skipped <pbin\msvc-14.0\debug\threading-multi>hello_ext.dll for lack of <p..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi>boost_python-vc140-mt-gd-1_60.lib...
...skipped <pbin\msvc-14.0\debug\threading-multi>hello_ext.pdb for lack of <p..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi>boost_python-vc140-mt-gd-1_60.lib...
...skipped <p.>boost_python-vc140-mt-gd-1_60.dll for lack of <p..\..\..\..\bin.v2\libs\python\build\msvc-14.0\debug\threading-multi>boost_python-vc140-mt-gd-1_60.dll...
...skipped <p.>hello_ext.dll for lack of <pbin\msvc-14.0\debug\threading-multi>hello_ext.dll...
...skipped <pbin\hello.test\msvc-14.0\debug\threading-multi>hello for lack of <pbin\msvc-14.0\debug\threading-multi>hello_ext.dll...
...failed updating 3 targets...
...skipped 6 targets...
我已经尝试了很多用户-config.jam 设置,包括以下每个 msvc 设置:
using msvc : 14.0 ;
using msvc : 14.0 : "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin" ;
using msvc ;
以及 python 的以下内容:
using python ;
using python : 2.7 ;
using python : 2.7 : C:/Users/Joey/Anaconda2 ;
using python : 2.7 : "C:/Users/Joey/Anaconda2 (32-bit)" ;
using python
: 2.7 # Version
: C:\Users\Joey\Anaconda2\python.exe # Python Path
: C:\Users\Joey\Anaconda2\include # include path
: C:\Users\Joey\Anaconda2\libs # lib path(s)
: <define>BOOST_ALL_NO_LIB=1
;
bjam的设置,我试过了
bjam
bjam address-model=64
bjam address-model=64 architecture=x86
我已经尝试了整个 Boost 库的 32 位和 64 位版本,结果相同。
当我 运行 bjam address-model=64
时,我更快地得到以下错误:
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
- symlinks supported : no (cached)
- junctions supported : yes (cached)
- hardlinks supported : yes (cached)
...found 1 target...
...updating 1 target...
config-cache.write bin\project-cache.jam
...updated 1 target...
...patience...
...patience...
...found 1924 targets...
...updating 5 targets...
msvc.link.dll bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd
Creating library bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb and object bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.exp
LINK : fatal error LNK1104: cannot open file 'bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb'
call "C:\Users\Joey\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_amd64.cmd" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /NOENTRY /DEBUG /MACHINE:X64 /MANIFEST /subsystem:console /out:"bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd" /IMPLIB:"bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb" /LIBPATH:"C:\Users\Joey\Anaconda2\libs" @"bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link.dll bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pdb...
...removing bin\msvc-14.0\debug\address-model-64\threading-multi\hello_ext.pyd
...skipped <p.>hello_ext.pyd for lack of <pbin\msvc-14.0\debug\address-model-64\threading-multi>hello_ext.pyd...
...skipped <pbin\hello.test\msvc-14.0\debug\address-model-64\threading-multi>hello for lack of <pbin\msvc-14.0\debug\address-model-64\threading-multi>hello_ext.pyd...
...failed updating 2 targets...
...skipped 3 targets...
我是 运行ning Windows10 64 位。
如果有人对要尝试的事情、问题的性质或任何其他可能有帮助的事情有任何直觉,我将不胜感激。我几乎 运行 没主意了。
编辑
我用过
import toolset : using ;
using msvc : 14.0 ;
using python
: 2.7 # Version
: C:\Python27\python.exe # Interpreter
: C:\Python27\include # inc dir
: C:\Python27\libs # link libs
: # conditions
;
现在得到这个,类似于 this post。
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
...found 7 targets...
- symlinks supported : yes
...found 1 target...
...updating 1 target...
config-cache.write bin\project-cache.jam
...updated 1 target...
...patience...
...patience...
...found 1916 targets...
...updating 5 targets...
msvc.link.dll bin\msvc-14.0\debug\threading-multi\hello_ext.pyd
Creating library bin\msvc-14.0\debug\threading-multi\hello_ext.pdb and object bin\msvc-14.0\debug\threading-multi\hello_ext.exp
LINK : fatal error LNK1207: incompatible PDB format in 'C:\Program Files\boost\boost_1_60_0_64\libs\python\example\tutorial\bin\msvc-14.0\debug\threading-multi\hello_ext.pdb'; delete and rebuild
call "C:\Users\Joey\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /NOENTRY /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console /out:"bin\msvc-14.0\debug\threading-multi\hello_ext.pyd" /IMPLIB:"bin\msvc-14.0\debug\threading-multi\hello_ext.pdb" /LIBPATH:"C:\Python27\libs" @"bin\msvc-14.0\debug\threading-multi\hello_ext.pyd.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link.dll bin\msvc-14.0\debug\threading-multi\hello_ext.pyd bin\msvc-14.0\debug\threading-multi\hello_ext.pdb bin\msvc-14.0\debug\threading-multi\hello_ext.pdb...
...removing bin\msvc-14.0\debug\threading-multi\hello_ext.pdb
...skipped <p.>hello_ext.pyd for lack of <pbin\msvc-14.0\debug\threading-multi>hello_ext.pyd...
...skipped <pbin\hello.test\msvc-14.0\debug\threading-multi>hello for lack of <pbin\msvc-14.0\debug\threading-multi>hello_ext.pyd...
...failed updating 2 targets...
...skipped 3 targets...
我遇到了和你类似的问题,发现这是罪魁祸首:
C:\Users\Joey\Anaconda2\libs\python27.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'X86'
您正在混合不同位数的库。在构建 64 位 Boost Python 时,您必须 link 到 64 位 Python 并且对于 32 位构建也是如此。
确保将 Python 的两个版本安装到不同的目录。我在安装程序中使用了默认目录,并且两个安装最终都在同一个目录中。即使我在安装 32 位版本之后安装了 64 位版本,我的 Python libs/ 文件夹中仍然只有 32 位库。