构建:修复 GTest 链接失败——显式指定 Linux GTest 配置,避免从 PATH 探测到 Windows Anaconda 的 .lib

This commit is contained in:
zjk
2026-08-18 19:45:50 +08:00
parent a6da5e3ae9
commit f3dd9e2c5a
20 changed files with 4629 additions and 6 deletions
+18 -1
View File
@@ -38,7 +38,24 @@ done
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ../
# 修复: PATH 中包含了 Windows Anaconda(/mnt/d/Software/Anaconda),
# 其下的 GTest 是 Windows .lib, 无法被 Linux 链接器使用。
# 因此显式指定 Linux 平台的 GTest 配置, 覆盖 CMake 从 PATH 探测到的不正确路径。
CMAKE_ARGS="-DCMAKE_BUILD_TYPE=${BUILD_TYPE}"
if [ -z "${GTest_DIR}" ]; then
for GTEST_CONFIG in \
/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake \
/usr/lib/cmake/GTest/GTestConfig.cmake \
/usr/local/lib/cmake/GTest/GTestConfig.cmake \
"${HOME}/miniconda/lib/cmake/GTest/GTestConfig.cmake"; do
if [ -f "${GTEST_CONFIG}" ]; then
CMAKE_ARGS="${CMAKE_ARGS} -DGTest_DIR=$(dirname "${GTEST_CONFIG}")"
break
fi
done
fi
cmake ${CMAKE_ARGS} ../
make ${CMD_LINE_ARGS}
cd ${INVOCATION_ABS_DIR}