同様の問題 ここ 。
これは私のCMakeLists.txtです。
cmake_minimum_required(VERSION 2.6)
# Locate GTest
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
# Add test cpp file
add_executable(foo foo.cpp)
# Link test executable against gtest & gtest_main
target_link_libraries(foo ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread)
そして私のfoo.cpp:
#include <gtest/gtest.h>
TEST(sample_test_case, sample_test)
{
EXPECT_EQ(1, 1);
}
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
これで、g ++コンパイラーを使用するときにすべてが正常に動作します。ただし、QNXのコンパイラntox86-c ++を使用しようとすると、次の問題が発生します。
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97(MESSAGE)でのCMakeエラー:GTestが見つかりませんでした(欠落:GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
私はntox86-c ++コンパイラー、googletest、およびcmake-guiを使用してUbuntuにいます。
何ができますか?
Googleテストはおそらく正しくインストールされていません(libgtest-dev
は、コンパイルする必要があるソースファイルのみをインストールできます)。私は同じ問題を抱えていて、 http://www.eriksmistad.no/getting-started-with-google-test-on-ubuntu/ からの指示に従いました
Sudo apt-get install libgtest-dev
Sudo apt-get install cmake # install cmake
cd /usr/src/gtest
Sudo cmake CMakeLists.txt
Sudo make
#copy or symlink libgtest.a and libgtest_main.a to your /usr/lib folder
Sudo cp *.a /usr/lib
これでうまくいきました。
@detrickによって説明されているように、Ubuntuパッケージlibgtest-dev
はソースのみをインストールするため、ライブラリを自分でビルドしてインストールする必要があります。
ただし、Ubuntu 18.04以降、他の回答の手動コマンドよりもビルドとインストールの方法がはるかに簡単です。
Sudo apt install libgtest-dev build-essential cmake
cd /usr/src/googletest
Sudo cmake .
Sudo cmake --build . --target install
少し前にdockerfileを作成しましたが、後でシステムのgoogle testにインストールするための一種のレシピを保持するのに役立ちます。
apt-get install -y git g++ make cmake
git clone https://github.com/google/googletest.git
cd googletest
mkdir gbuild && cd gbuild && cmake .. && make
cp -r googletest/include/gtest /usr/local/include
cp gbuild/googlemock/gtest/lib*.a /usr/local/lib
cp gbuild/googlemock/lib*.a /usr/local/lib
それが役に立てば幸いです:)