如何在GitHub Windows-2019 Runner上安装expat并关联C++项目
解决GitHub Windows-2019 Runner上CMake找不到Expat的问题
问题描述
在GitHub windows-2019 runner上构建依赖Expat的项目时,CMake配置阶段出现错误:Could NOT find EXPAT (missing: EXPAT_LIBRARY EXPAT_INCLUDE_DIR)
问题原因
通过vcpkg安装的库不在CMake默认查找路径范围内,必须显式指定vcpkg提供的工具链文件,CMake才能定位到vcpkg安装的Expat库。
解决方案
修改GitHub Actions构建脚本,在CMake配置步骤中添加vcpkg工具链参数:
修改后的build_windows.yml
name: Build Windows on: workflow_dispatch: jobs: build: name: Build Windows runs-on: windows-2019 steps: - uses: actions/checkout@v3 - name: "Install required packages" run: | vcpkg install expat vcpkg integrate install - name: Configure CMake run: | mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake - name: Build run: | cd build cmake --build . --config Release
补充说明
- Windows runner上vcpkg的默认安装路径为
C:/vcpkg,因此工具链文件路径固定为上述值 - 若项目使用vcpkg manifest(
vcpkg.json)管理依赖,同样需要在CMake配置时指定该工具链文件,才能正确识别vcpkg安装的包
内容的提问来源于stack exchange,提问作者Jiawei Lu
相关产品推荐
相关产品推荐

