我第一次尝试使用conan来检索Boost.Python
并开始使用它的项目。我有问题,一旦我打开我的visual studio解决方案,我得到一个红色下划线的#include <boost/python.hpp>
,它将无法编译。
我有一个后续的构建结构,src/main.cpp
如下,
#include <iostream>
#include <boost/python.hpp>
using namespace boost::python;
int main()
{
std::cout << "Hello World!";
}
我的CMakeLists.txt
,
cmake_minimum_required(VERSION 3.15)
project(myMath)
find_package(Boost)
add_executable(${PROJECT_NAME}
src/main.cpp)
target_link_libraries(${PROJECT_NAME}
Boost::python)
最后我的conanfile.txt
是,
[requires]
boost/1.83.0
[options]
boost*:without_python=False
[generators]
CMakeDeps
CMakeToolchain
运行conan install . --output-folder=build --build=missing
将正确检索Boost并找到Boost::python
。我构建我的解决方案使用,cmake .. -G "Visual Studio 19 2022" -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
。
在conan_toolchain.cmake
内部,我可以看到以下行,list(PREPEND CMAKE_INCLUDE_PATH "C:/Users/Name/.conan2/p/b/boost4b77a2a85257b/p/include"
我可以验证python.hpp
存在于C:/Users/Name/.conan2/p/b/boost4b77a2a85257b/p/include/boost/python.hpp
。
单从这个组件,我不知道为什么它不连接。
从这一切我不明白为什么我的visual studio不能正确链接到boost/python.hpp
一旦我打开我的解决方案。任何帮助都是感激不尽的。我还收到一个链接错误试图找到ZLIB时,以下柯南2教程。我已经遵循了所有的步骤,并确保变量都是从我的前一个问题设置。
所需的文件夹结构为,
BoostExample
- Build
- CMake
- CMake output is here (soltuion etc)
- (Build file from conan are put here)
- Src
main.cpp
- CMakeLists.txt
- conanfile.txt
尝试从CLI编译时的确切错误是,
C:/Users/Michael/.conan2/p/b/boost4b77a2a85257b/p/include\boost/python/detail/wrap_python.hpp(57,11): fatal error C108
3: Cannot open include file: 'pyconfig.h': No such file or directory [C:\Users\Michael\Desktop\C++\BoostExample\build\C
Make\myMath.vcxproj]
当打开解决方案文件时,一个红色的波浪线在包含下面,它将不会在那里编译。我也收到了同样的问题,当使用ZLIB教程,但似乎编译时使用CLI命令,但仍然没有正确链接。
1条答案
按热度按时间q35jwt9p1#
奇怪的是,
find_package(Boost)
并不寻找python,即使在不使用conan的情况下也是如此,你需要自己手动引入python: