You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMakeLists.txt中配置Python相关的g++编译链接选项?

将g++的Python头文件与链接库配置迁移到CMakeLists.txt

我有一个引用了Python.h的C文件,此前通过以下g命令完成编译:

g++ {fileName}.cpp -I/usr/include/python3.6m -lpython3.6m

现在需要把命令中的-I/usr/include/python3.6m(头文件路径)和-lpython3.6m(链接库)这两个配置迁移到CMakeLists.txt中。

初始错误的CMake配置

最初的CMakeLists.txt写法存在两处问题:

cmake_minimum_required(VERSION 3.10)

add_executable (program test.cpp)
target_include_directories(program PUBLIC ${CMAKE_SOURCE_DIR}/python3.6m)
target_compile_options(program PUBLIC "-lpython3.6m")

message(${CMAKE_SOURCE_DIR}/python3.6m)

修正后的正确配置

经调整后,正确的CMake配置如下:

cmake_minimum_required(VERSION 3.10)
    
add_executable(program test.cpp)
target_include_directories(program PUBLIC /usr/include/python3.6m) 
# 指定Python头文件的系统路径
target_link_libraries(program PUBLIC "-lpython3.6m")
   
message(${CMAKE_SOURCE_DIR}/python3.6m)

关键修正点:

  • 头文件路径:把错误的${CMAKE_SOURCE_DIR}/python3.6m替换为实际的系统头文件路径/usr/include/python3.6m,确保CMake能找到Python.h
  • 链接库配置:将原本放在target_compile_options里的链接库选项,移到专门用于链接设置的target_link_libraries指令中,这是CMake管理链接依赖的正确方式

内容的提问来源于stack exchange,提问作者JaeHyeok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 03:42:22