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

如何在VS Code中配置可同时适配Mac与Windows的GLFW/GLAD开发环境

双系统通用GLFW/GLAD VS Code项目配置方案

该配置方案可实现同一套代码在Mac、Windows下无需修改直接编译运行,已在实际开发场景中验证可用,具体操作如下:

1. 统一项目目录结构

所有跨平台相关的资源按以下规则存放,避免系统间配置冲突:

  • 根目录存放CMakeLists.txt作为统一构建配置文件
  • src/目录:存放业务代码、统一生成的glad.c文件
  • include/目录:存放GLAD头文件,双系统通用无需修改
  • lib/目录:分子目录存放不同系统的GLFW预编译库
    • lib/win32/:存放Windows平台的glfw3.lib、glfw3dll.lib等库文件
    • lib/mac/:存放Mac平台的libglfw3.a、libglfw.3.dylib等库文件
  • build/目录:加入.gitignore,两个系统各自的编译产物都存在此目录,互不干扰
  • .vscode/目录:直接提交到代码仓库,无需加入忽略列表,双系统可通用配置

2. 编写跨平台CMake配置

根目录的CMakeLists.txt通过系统判断自动加载对应平台的依赖,核心配置参考如下:

cmake_minimum_required(VERSION 3.16)
project(GLFWCrossDemo)

# 加载通用头文件,GLAD头文件全局通用
include_directories(${PROJECT_SOURCE_DIR}/include)

# 条件判断匹配对应系统的依赖项
if(WIN32)
    link_directories(${PROJECT_SOURCE_DIR}/lib/win32)
    set(PLATFORM_LIBS glfw3 opengl32 gdi32 user32 kernel32)
elseif(APPLE)
    link_directories(${PROJECT_SOURCE_DIR}/lib/mac)
    set(PLATFORM_LIBS glfw3 "-framework OpenGL" "-framework Cocoa" "-framework IOKit" "-framework CoreVideo")
endif()

# 编译目标
add_executable(${PROJECT_NAME} src/main.c src/glad.c)
target_link_libraries(${PROJECT_NAME} ${PLATFORM_LIBS})

3. VS Code 通用配置

两个系统的VS Code均安装以下3个扩展即可,无需单独配置系统专属参数:

  • C/C++
  • CMake
  • CMake Tools

.vscode目录下的配置文件统一使用VS Code内置变量,避免硬编码系统专属路径:

  • c_cpp_properties.json的includePath仅需保留${workspaceFolder}/include、${command:cmake.tools.includePath}等通用变量
  • 无需单独配置tasks.json、launch.json,直接使用CMake Tools提供的编译、运行、调试指令即可

4. 跨系统使用流程

  • Windows端:打开项目后选择对应MSVC/MinGW编译套件,点击CMake Tools的运行按钮直接启动
  • Mac端:打开项目后选择Clang编译套件,直接点击运行即可,无需修改任何项目代码

注意事项

  • GLAD仅需生成一次,两个平台共用同一份glad.c和头文件即可
  • 两个系统的CMake大版本保持一致,避免语法不兼容问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:15:04