如何将python目录包含到CMakeList.txt文件中

如何将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

这是我的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/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)”,它开始工作了