我正在尝试在Mac上运行Google Test(其C ++单元测试框架),但是在尝试编译该库时遇到了问题。
以下命令运行正常:
export GTEST_DIR="path/to/g/test/"
g++ -std=c++11 -isystem ${GTEST_DIR}/include -I${GTEST_DIR} \
-pthread -c ${GTEST_DIR}/src/gtest-all.cc
ar -rv libgtest.a gtest-all.o
当尝试实际编译单元测试时,出现链接错误,提示“ libgtest.a:文件是为存档而构建的,而不是要链接的体系结构(x86 / 64)”。。 / p>
答案 0 :(得分:0)
Mac似乎不喜欢该命令:
$ ar -rv libgtest.a gtest-all.o
用以下命令替换此命令可解决我的问题:
$ libtool -static -o libgtest.a gtest-all.o
我写了一个简单的脚本来自动克隆Google Test库,然后构建并链接它。所需要做的就是将此脚本添加到您的主项目目录中,并赋予其执行权限(例如,先运行$ chmod 777 googleTestSetup.sh
,然后运行$ ./googleTestSetup.sh
)
https://gist.github.com/eagi223/0ba30b0b36b18f4de07943d9228dd73a