OS X Mavericks 上的 gtest 的链接器错误
Linker error for gtest on OS X Mavericks
我已经使用 gtest
单元测试库一段时间了。最近,我设置了一台新的开发机器并升级到Mac OS X 10.9。我安装了
brew tap homebrew/versions
brew install [flags] gcc48
我在本地构建了gtest
cmake .
make
它产生了libgtest.a
.
我的项目的第二个依赖项是日志记录库log4cxx
。我像往常一样得到了它:
brew install log4cxx
一切看起来都很好。但是当我现在尝试编译时,我得到了这个关于我无法解释的未定义符号的大量链接器错误。有什么想法吗?
此问题与编译时-stdlib=
的使用有关。 我无法告诉您哪个值(libstdc++
或libc++
)是正确的,但它必须与库编译时使用的值相匹配。
我想你需要挖掘自制日志才能找到答案。
另一个要看的技巧是确保要编译的所有内容都对链接在一起的所有可执行单元使用相同的 -mmacosx-version-min 值。如果你没有定义一个,Mavericks将使用10.9,默认情况下它似乎与libc ++链接,而如果你使用-mmacosx-version-min=10.8或更低版本,它将默认与libstdc++链接。
当您通过 c++filt 运行时,这会给您一个不匹配,其中一些符号是 std::__1::foo,而有些符号是 std::foo。
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- Visual Studio mkl_link_tool.exe链接错误
- C++ 实现模板单例类时出现链接错误
- 使用类模板的方法链接错误
- MySQL C++连接器链接错误
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 运行 C++ 单元测试时LNK2005链接错误
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 链接错误,包括我创建的相同头文件 - C++
- 在Embarcadero C++ Builder中生成的DLL未解决的外部链接错误
- 使用标头保护的多个定义链接错误
- 链接错误:未定义对 stdscr 和 wgetch 的引用
- 使用 Vivek 的 Vcam / 捕获源过滤器构建/链接错误
- 升压program_options中的链接错误
- 使用 g++ 预处理器进行替换会导致链接错误
- 在调试配置中编译工作正常,但发布会给出链接错误
- 相邻矩阵设置链接错误
- 包含常量变量并包含在多个文件中的标头的链接错误
- C++链接错误,我理解但无法解决
- 是什么导致macOS Mojave上的GoogleTest链接错误