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

如何向ExternalProject_Add传递编译标志以构建x32架构的gtest

将32位编译标志传递给Google Test的ExternalProject构建

由于ExternalProject_Add会启动独立的CMake构建进程,主脚本中设置的编译器和编译标志不会自动继承到gtest的构建流程里,需要通过CMAKE_ARGS参数显式传递这些配置。

修改你的ExternalProject_Add代码,添加CMAKE_ARGS来传递编译器和32位编译标志:

include(ExternalProject)
ExternalProject_Add(gtest
    GIT_REPOSITORY https://github.com/google/googletest.git 
    GIT_TAG release-1.12.1   

    PREFIX ${CMAKE_CURRENT_BINARY_DIR}/gtest
    INSTALL_COMMAND ""
    LOG_CONFIGURE ON
    LOG_BUILD ON
    # 显式传递编译器和32位编译标志
    CMAKE_ARGS
        -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
        -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
        -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
        -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
)

这样配置后,gtest的独立构建进程会使用你指定的gcc/g++编译器,并带上-m32标志,最终生成32位架构的库文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:41:10