如何将python目录包含到CMakeList.txt文件中
这是我的CMakeList.txt文件,我想包括python3.9目录,并想链接python3.9路径下的所有头文件和库如何将python目录包含到CMakeList.txt文件中,python,cmake,cmakelists-options,Python,Cmake,Cmakelists Options,这是我的CMakeList.txt文件,我想包括python3.9目录,并想链接python3.9路径下的所有头文件和库 g++ data.cpp -std=c++11 -I/usr/include/python3.9 -lpython3.9 -I/opt/mongo-cxx-driver/include/mongocxx/v_noabi -I/opt/mongo-cxx-driver/include/libmongoc-1.0 -I/opt/mongo-cxx-driver/includ
g++ data.cpp -std=c++11 -I/usr/include/python3.9 -lpython3.9 -I/opt/mongo-cxx-driver/include/mongocxx/v_noabi -I/opt/mongo-cxx-driver/include/libmongoc-1.0 -I/opt/mongo-cxx-driver/include/bsoncxx/v_noabi -I/opt/mongo-cxx-driver/include/libbson-1.0 -L/opt/mongo-cxx-driver/lib64 -lmongocxx -lbsoncxx
使用上面的命令可以很好地工作,但是当我使用下面的CMakeList.txt文件进行构建时。但它并没有链接我的python库。我做错了什么?请帮忙
cmake_minimum_required(VERSION 3.2)
set(CMAKE_CXX_STANDARD 11)
add_subdirectory(../dlib dlib_build)
add_executable(testmongo data.cpp)
INCLUDE_DIRECTORIES("/usr/include/python3.9")
find_package(libmongocxx REQUIRED)
find_package(libbsoncxx REQUIRED)
include_directories(${LIBMONGOCXX_INCLUDE_DIR})
include_directories(${LIBBSONCXX_INCLUDE_DIR})
include_directories("/opt/mongo-cxx-driver/include/mongocxx/v_noabi")
include_directories("/opt/mongo-cxx-driver/include//bsoncxx/v_noabi")
include_directories("/opt/mongo-cxx-driver/include/libmongoc-1.0")
include_directories("/opt/mongo-cxx-driver/include/libbson-1.0")
include_directories("/opt/mongo-cxx-driver/lib64")
target_link_libraries(testmongo ${LIBMONGOCXX_LIBRARIES})
target_link_libraries(testmongo ${LIBBSONCXX_LIBRARIES})
target_link_libraries(testmongo dlib::dlib)
target_link_libraries(testmongo ${PYTHON_LIBRARIES})
除了python库链接之外,所有链接都很好
include\u目录
影响在它之后声明的目标
add_executable(blabla ...) # does not use /some/dir
include_directories(/some/dir) # change!
add_executable(blabla2 ...) # uses /some/dir!
但不要使用
包含目录
。改为使用target\u include\u目录。但除了Python链接库之外,一切都正常。python库链接有什么问题?target_include_目录也给出了一个错误,它的参数比上一行多。我将最后一行更改为“target_链接库(testmongo python3.9)”,它开始工作了