cmake链接到libboost_pythonpy32.so而不是libboost_python.s

2024-04-23 08:47:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为我编写的库构建python绑定,但在让cmake理解它应该为python3使用boostpython库时遇到了一些困难。在

这是我的cmake文件:

cmake_minimum_required(VERSION 2.8)

FIND_PACKAGE(Boost COMPONENTS
                system
                thread
                python REQUIRED)
find_package(PythonLibs REQUIRED)

INCLUDE_DIRECTORIES(${PYTHON_LIBRARIES})
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})

ADD_LIBRARY(
  pschulze SHARED
  src/candidate_relation.cpp
  src/schulze.cpp
  src/calculate.cpp
  src/candidate.cpp
  src/ranking.cpp
  src/userinput.cpp
  python.cpp)

TARGET_LINK_LIBRARIES(pschulze ${Boost_LIBRARIES} ${PYTHON_LIBRARIES})

ADD_EXECUTABLE(
  schulze
  src/candidate_relation.cpp
  src/schulze.cpp
  src/calculate.cpp
  src/candidate.cpp
  src/ranking.cpp
  src/userinput.cpp
  src/json-spirit/json_spirit_reader.cpp
  src/json-spirit/json_spirit_value.cpp
  main.cpp)

TARGET_LINK_LIBRARIES(schulze ${Boost_LIBRARIES} ${PYTHON_LIBRARIES})

ADD_DEFINITIONS(-std=gnu++0x -Os)

add_subdirectory (tests)

set(CMAKE_BUILD_TYPE Debug)

这是我得到的链接器错误:

^{pr2}$

Tags: srccmakeaddjsonlibrariesincluderequiredcpp