我正在尝试在Rehat 7系统上构建和安装google-cloud-cpp。我使用的是cmake install选项,使用的是https://github.com/googleapis/google-cloud-cpp-common/blob/master/INSTALL.md上的说明。
我已经安装了所有必备组件。
根据说明,最后两个步骤是:
cmake -H。-Bcmake-out cmake --build cmake-out --目标安装
当我运行第二个命令命令时,我得到的链接错误似乎来自google测试:
[ 22%] Built target google_cloud_cpp_common
[ 22%] Built target google_cloud_cpp_testing_grpc
[ 22%] Built target google_cloud_cpp_grpc_utils
[ 23%] Built target google_cloud_cpp_testing
[ 23%] Linking CXX executable internal_background_threads_impl_test
bin/ld: CMakeFiles/common_grpc_utils_internal_background_threads_impl_test.dir/internal/background_threads_impl_test.cc.o: in function `testing::AssertionResult::AppendMessage(testing::Message const&)':
background_threads_impl_test.cc:(.text._ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE[_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE]+0x77): undefined reference to `testing::Message::GetString[abi:cxx11]() const'
bin/ld: CMakeFiles/common_grpc_utils_internal_background_threads_impl_test.dir/internal/background_threads_impl_test.cc.o: in function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::future_status, std::future_status>(char const*, char const*, std::future_status const&, std::future_status const&)':
background_threads_impl_test.cc:(.text._ZN7testing8internal18CmpHelperEQFailureISt13future_statusS2_EENS_15AssertionResultEPKcS5_RKT_RKT0_[_ZN7testing8internal18CmpHelperEQFailureISt13future_statusS2_EENS_15AssertionResultEPKcS5_RKT_RKT0_]+0x6c): undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
bin/ld: CMakeFiles/common_grpc_utils_internal_background_threads_impl_test.dir/internal/background_threads_impl_test.cc.o: in function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::thread::id, std::thread::id>(char const*, char const*, std::thread::id const&, std::thread::id const&)':
background_threads_impl_test.cc:(.text._ZN7testing8internal18CmpHelperEQFailureINSt6thread2idES3_EENS_15AssertionResultEPKcS6_RKT_RKT0_[_ZN7testing8internal18CmpHelperEQFailureINSt6thread2idES3_EENS_15AssertionResultEPKcS6_RKT_RKT0_]+0x6c): undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
collect2: error: ld returned 1 exit status
gmake[2]: *** [google/cloud/CMakeFiles/common_grpc_utils_internal_background_threads_impl_test.dir/build.make:167: google/cloud/internal_background_threads_impl_test] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:2245: google/cloud/CMakeFiles/common_grpc_utils_internal_background_threads_impl_test.dir/all] Error 2
gmake: *** [Makefile:141: all] Error 2此库已安装。
有人能帮我吗?
感谢你提供的任何信息,
约翰
发布于 2020-05-31 21:47:43
与INSTALL.md中的指令不同,google-cloud-cpp/doc/setup-cmake-environment.md中似乎有一种设置机制。该文件中的说明描述了如何设置您的工作站以使用CMake构建Google Cloud C++客户端库,这正是我正在尝试的。使用这些说明可以生成良好的构建。
https://stackoverflow.com/questions/62091696
复制相似问题