叫我学弟 2020-11-06 17:13 采纳率: 0%
浏览 222

CMake 的find_Package找不到Boost的python37组件

我的CMakeLists.txt是这样写的

cmake_minimum_required(VERSION 3.17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fexec-charset=GBK")
set(CMAKE_BUILD_TYPE Release)   # 设置编译版本,Release或Debug

SET(CMAKE_C_COMPILER_WORKS 1)
SET(CMAKE_CXX_COMPILER_WORKS 1)
# =============== 以下配置为必须指定的配置 ================

set(CMAKE_MAKE_PROGRAM "D:\\Program Files\\CMake\\bin\\cmake.exe") # 配置cmake地址
set(CMAKE_C_COMPILER "F:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/bin/gcc.exe")    # 配置gcc地址
set(CMAKE_CXX_COMPILER "F:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/bin/g++.exe")  # 配置g++地址
project(MyPyMySQL)

# MySQL
set(MYSQL_BASE_DIR F:\\mysql-8.0.22 CACHE PATH "mysql server base direction")   # MySQL server 安装目录
# boost
set(Boost_ROOT F:\\boost_1_74_0)    # boost目录
set(BOOST_LIBS F:/boost_1_74_0/stage/lib) # boost动态链接库目录


if(CMAKE_BUILD_TYPE MATCHES Release)
    set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin/release)
ELSE()
    set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin/debug)
ENDIF()
## ===c++编译器配置
set(CMAKE_CXX_STANDARD 11)  # 语言标准:c++11
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
set(CMAKE_CXX_FLAGS "-fexec-charset=GBK")   # 字符集

find_package(Python3)
find_package(PythonLibs)
find_package(Boost COMPONENTS python37 REQUIRED)

最后一行查找package,可以找到boost,但是找不到python37的组件,也拿不到响应的动态链接库,是为啥呢?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-19 17:18
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: cmake find_package的基本原理与详细示例(一)中的 HINT字段指定的路径 部分也许能够解决你的问题, 相关内容:

      搜索标准的系统环境变量PATH。
      其中如果是以/bin或者/sbin结尾的,会自动转化为其父目录。
      通过指定NO_SYSTEM_ENVIRONMENT_PATH来跳过。

      存储在cmake的"User Package Registry"(用户包注册表)中的路径。
      通过设定NO_CMAKE_PACKAGE_REGISTRY,或者:
      设定CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY为true,
      来避开。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀