我正在尝试使用CMake编译一个c++文件。
但由于我使用的是Boost::python,所以它无法编译。
我建立了一个小测试文件来确定我需要做什么,但我就是不能让它工作。
任何帮助都将不胜感激!!在
测试文件:#include
#include
#include
using std::cout;
using std::endl;
int main()
{
namespace py = boost::python;
Py_Initialize();
// Retrieve the main module's namespace
py::object global(py::import("__main__").attr("__dict__"));
py::exec("print 'Hello from Python!' \n", global, global);
return 0;
}
如果我只使用
^{pr2}$
我试过了CMakeLists.txt文件让它发挥作用。在cmake_minimum_required(VERSION 3.2)
FIND_PACKAGE(PythonLibs)
FIND_PACKAGE(Boost)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS})
LINK_LIBRARIES(${Boost_LIBRARIES} ${PYTHON_LIBRARIES})
add_executable(Test1 boosttest.cpp)
target_link_libraries(Test1 ${Boost_LIBRARIES} ${PYTHON_LIBRARIES})
我得到的是undefined reference to `boost::python::import(boost::python::str)'
还有几个同类的。在