@Slady

Как подключить boost.python без ошибок?

Имеется такая структура:
/boost
/src
_nonsence.cpp
CMakeLists.txt

Содержимое CMakeLists.txt:
cmake_minimum_required(VERSION 3.10)
project(_PROTOCOL)

#create executable file
add_executable(main src/_nonsence.cpp)

#Boost lib
set(BOOST_ROOT ./boost)
find_package(Boost REQUIRED)
if(Boost_FOUND)
message("BOOST FOUND")
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(main ${Boost_LIBRARIES})
endif()

Содержимое _nonsence.cpp:

#include

int main()
{


return 0;
}

Ошибка:
5d147bb29d0e5314041964.png

Версия CMake: 3.14
Версия boost: 1.70
Версия python: 3.7.0

Библиотеку boost собирал с помощью gcc:
bootstrap.bat gcc
b2 toolset=gcc --prefix=. install

Версия gcc: 6.3.0

Пытался включить заголовчные python файлы, pyconfig.h и т.д:

Изменил CMakeLists.txt:
cmake_minimum_required(VERSION 3.10)
project(_PROTOCOL)

#create executable file
add_executable(main src/_nonsence.cpp)

#Boost lib
set(BOOST_ROOT ./boost)
find_package(Boost REQUIRED)
if(Boost_FOUND)
message("BOOST FOUND")
include_directories(${Boost_INCLUDE_DIRS})
+ include_directories( /include/py)
target_link_libraries(main ${Boost_LIBRARIES})
endif()

Выводит предупреждения и в конце ошибку:
5d147bc90c912044959424.png
5d147bce82e03092826187.png

При том что другие библиотеки boost подключаются и работают спокойно.
Как подключить boost.python без ошибок?
  • Вопрос задан
  • 681 просмотр
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C++
Раз у вас свежий CMake и если я правильно понял ваши намерения, давайте попробуем вот такой вариант:
cmake_minimum_required(VERSION 3.14)
project(foobaria)

find_package(Python3 REQUIRED COMPONENTS Development)
find_package(Boost REQUIRED COMPONENTS python)

python3_add_library(main MODULE src/_nonsence.cpp)
target_link_libraries(main Boost::python) # тут возможно нужно Boost::python3
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы