无法让谷歌测试与 ubuntu 一起运行(链接器错误)
Can't get googletest running with ubuntu (linker errors)
我已经在linux下使用make构建了googletest,结果文件是libgtest。libgtest_main.a。
我从我的应用程序中引用了包含文件,并添加了以下库依赖项(按照给定的顺序):
-lgtest
-lpthread
然而,当我尝试编译时,我得到以下两个链接器错误:
more undefined references to `testing::internal::EqFailure(char const*, char const*, testing::internal::String const&, testing::internal::String const&, bool)
undefined reference to `testing::internal::String::ShowCStringQuoted(char const*)
从我在googletest源代码中看到的,EqFailure函数直接在gtest.cc中实现。我不明白为什么我应该在这里得到一个链接错误,从googletest的其他定义显然也可以找到(如果我删除-lgtest,我得到更多的链接错误)。
我错过了什么?
确保你不会不小心把你自己的gtest和ubuntu附带的gtest混在一起。
我使用cmake来构建并得到相同的错误,因为cmake选择/usr/include而不是我自己的自定义构建版本(这是我链接的)。
相关文章:
- CMake-按正确顺序将项目与C运行时对象文件链接
- C++ 运行时链接器错误 (liblog4cpp.so.5) Eclipse
- 运行 C++ 单元测试时LNK2005链接错误
- 'make check' GLIBC 运行时的链接问题
- 如何在 android ndk 上链接 C 和 C++ 代码,以及 C 和 C++ 运行时库(包括 STL)?
- 为什么每当我尝试运行此链接列表删除功能时都会收到分段错误错误?
- 为什么C++可执行文件在与较新的libstdc++.so链接时运行得更快?
- 生成文件无法在运行时链接库
- 微控制器的首次 gcc 链接器脚本编译但不运行
- 运行程序时找不到共享对象库,但在编译过程中链接了它
- C++:链接库两次,全局构造函数运行两次吗?
- std :: list(双重链接列表)未知运行时错误
- C++ / GoogleTest - 如何在链接目录中为每个测试运行安装程序
- 模型依赖关系目标,在运行时链接
- 动态加载库和运行时误解的显式链接
- 不满意的链接错误,当使用LLVM运行javacpp预设时
- CMake:运行链接命令时出错:%1不是有效的Win32应用程序
- 无法通过 VIM 运行链接脚本
- CMake(Android工具链)-运行链接命令时出错:没有这样的文件或目录
- 无法让谷歌测试与 ubuntu 一起运行(链接器错误)