使用CMake构建Glad库时遭遇Python依赖模块缺失问题求助
构建Glad子模块时的Python相关问题
我正在开发一款3D引擎,打算将glad仓库作为子模块加入项目,使用CMake作为主要构建工具,但构建Glad库时一直碰到Python相关的问题。我特意创建了一个单独的测试项目,错误依然存在。我的需求是构建完成后自动生成glad.h、glad.c和glad.lib,且我对Python代码不太熟悉。
相关文件信息
CMakeLists.txt 代码
# 示例CMake配置(用户需替换为实际代码) cmake_minimum_required(VERSION 3.10) project(3DEngineTest) add_subdirectory(thirdparty/glad) # 测试目标 add_executable(GladTest main.cpp) target_link_libraries(GladTest PRIVATE glad)
构建输出错误日志(示例)
-- Found Python: /usr/bin/python2.7 (found unsuitable version "2.7.18", minimum required is "3.6") CMake Error at thirdparty/glad/CMakeLists.txt:42 (message): Python version 3.x required to build glad
已安装Python模块列表
Package Version ---------- ------- pip 23.3.1 setuptools 68.2.2 wheel 0.41.2
解决方案
1. 强制CMake使用Python 3
Glad构建依赖Python 3.6+,直接在CMake中指定Python路径:
在项目根CMakeLists.txt开头添加:
# Windows示例 set(Python_EXECUTABLE "C:/Python311/python.exe") # Linux/macOS示例 set(Python_EXECUTABLE "/usr/bin/python3")
或者通过cmake命令行参数传递:
# Windows cmake .. -G "Visual Studio 17 2022" -DPython_EXECUTABLE=C:/Python311/python.exe # Linux/macOS cmake .. -DPython_EXECUTABLE=/usr/bin/python3
2. 修复子模块完整性
确保glad子模块克隆完整,执行:
git submodule update --init --recursive
3. 手动生成Glad文件(跳过CMake自动生成)
如果自动生成始终失败,手动调用Glad的Python脚本生成文件:
- 进入glad子模块目录,运行:
python3 -m glad --generator=c --api="gl=4.5" --profile=core --out-path=generated
- 在CMake中直接使用生成的文件:
add_library(glad STATIC thirdparty/glad/generated/src/glad.c) target_include_directories(glad PUBLIC thirdparty/glad/generated/include)
4. 验证Python环境
确认系统中Python 3可用:
python3 --version
输出需为3.6及以上版本,若未安装则先安装对应版本的Python。
内容的提问来源于stack exchange,提问作者Isuru Senanayaka
相关产品推荐
相关产品推荐

