我无法编译 google 测试,告诉链接器输入未使用 (macOS)
I can't compile google test which telling linker input unused (macOS)
我已经使用以下命令下载了 google 测试。
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.cc\n";
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
用于将源文件编译成目标文件。此阶段不 link 可执行文件,即它不使用 linker,因此不使用 linker 标志 -lgtest -lgtest_main
。如果你想编译一个可执行文件,正确的 compand 将没有 -c
:
g++ -std=c++11 -lgtest -lgtest_main -pthread -o cpptest test.cpp
注意,我删除了不需要使用的 -stdlib
。
我已经使用以下命令下载了 google 测试。
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.cc\n";
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
用于将源文件编译成目标文件。此阶段不 link 可执行文件,即它不使用 linker,因此不使用 linker 标志 -lgtest -lgtest_main
。如果你想编译一个可执行文件,正确的 compand 将没有 -c
:
g++ -std=c++11 -lgtest -lgtest_main -pthread -o cpptest test.cpp
注意,我删除了不需要使用的 -stdlib
。