未定义对`boost::python::detail::init_模块(PyModuleDef&;,void(*)()和#x27;使用boostpython

未定义对`boost::python::detail::init_模块(PyModuleDef&;,void(*)()和#x27;使用boostpython,python,c++,boost,cmake,boost-python,Python,C++,Boost,Cmake,Boost Python,我有一个小型cpp计划: #include <iostream> #include <boost/python.hpp> //#include <boost/python/numpy.hpp> void helloxd(){ std::cout<<std::endl<<"something"<<std::endl; } BOOST_PYTHON_MODULE(tkbd_cpp) { using names

我有一个小型cpp计划:

#include <iostream>
#include <boost/python.hpp>
//#include <boost/python/numpy.hpp>

void helloxd(){
    std::cout<<std::endl<<"something"<<std::endl;
}

BOOST_PYTHON_MODULE(tkbd_cpp)
{
    using namespace boost::python;
    def("helloxd_cpp", helloxd);
}
我可以成功地运行cmake.,但当我尝试运行make命令时,我得到

CMakeFiles/tkbd_cpp.dir/py_wrapper.cpp.o: In function `PyInit_tkbd_cpp':
py_wrapper.cpp:(.text+0xcf): undefined reference to `boost::python::detail::init_module(PyModuleDef&, void (*)())'
CMakeFiles/tkbd_cpp.dir/py_wrapper.cpp.o: In function `boost::python::detail::none()':
py_wrapper.cpp:(.text._ZN5boost6python6detail4none

我尝试过几次用很少的方法重新安装boost,使用--with python=python3.5m参数,用g++手工编译,运行示例,每次我得到未定义的引用。我使用linux,默认的python是python 3.5。我阅读了所有与boostpython-on-stack-overflow相关的答案,其中没有一个对我有所帮助。我还可以尝试什么?

@πάνταῥεῖ 我看不出这个问题与链接的问题是如何重复的,没有什么可以帮助我解决这个问题现代人更喜欢用版本指定
python
组件,比如
python35
PythonLibs_库
对于
PythonLibs
包来说是一个错误的变量名。是
PYTHON\u库
。变量
CMAKE\u CXX\u FLAGS
对于链接器标志
-Wl,…
来说是一个错误的位置。您可以在
target\u link\u libraries
call中直接添加这些标志。无论如何,由于有人明确尝试链接适当的库,因此对于一般的“What is undefined reference”(什么是未定义的参考)问题,这个问题不是重复的。
CMakeFiles/tkbd_cpp.dir/py_wrapper.cpp.o: In function `PyInit_tkbd_cpp':
py_wrapper.cpp:(.text+0xcf): undefined reference to `boost::python::detail::init_module(PyModuleDef&, void (*)())'
CMakeFiles/tkbd_cpp.dir/py_wrapper.cpp.o: In function `boost::python::detail::none()':
py_wrapper.cpp:(.text._ZN5boost6python6detail4none