我无法编译谷歌测试,告诉链接器输入未使用(macOS)



我已经用以下命令下载了谷歌测试。

wget https://github.com/google/googletest/archive/release-1.8.0.zip

我运行以下命令将库安装到我的macOS 10.13.5

unzip release-1.8.0.zip cd googletest-release-1.8.0 mkdir build cd build cmake .. make sudo make install

我尝试使用命令g++ -c -std=c++11 -stdlib=libc++ -lgtest -lgtest_main -pthread -o cpptest test.cpp按以下代码编译测试。

#include <iostream>
#include <gtest/gtest.h>
TEST(firstTest, abs)
{
EXPECT_EQ(1, abs( -1 ));
EXPECT_EQ(1, abs( 1 ));
}
int main(int argc, char **argv) {
std::cout << "Running main() from testmain.ccn";
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

但我得到以下警告

clang: warning: -lgtest: 'linker' input unused [-Wunused-command-lin-argument]
clang: warning: -lgtest_main: 'linker' input unused [-Wunused-command-line-argument]

有人可以解决这个问题吗?

g++ -c

用于将源文件编译为目标文件。此阶段不链接可执行文件,即它不使用链接器,因此不使用链接器标志-lgtest -lgtest_main。如果要编译可执行文件,则正确的压缩将不-c

g++ -std=c++11 -lgtest -lgtest_main -pthread -o cpptest test.cpp

请注意,我已经删除了不需要使用-stdlib

最新更新