【问题标题】:Xcode doesn't compile with gtest framework, however sees itXcode 不能使用 gtest 框架编译,但是可以看到
【发布时间】:2016-06-13 20:22:42
【问题描述】:

我已经下载并使用 gtest 编译了项目。然后我把 gtest.framework 放在 /Library/Frameworks 中。因此,IDE 正确突出显示代码: code screenshot

但是编译的时候出现这个错误:

ld: 找不到 -lgtest_main 的库

clang:错误:链接器命令 退出代码 1 失败(使用 -v 查看调用)

Ld /Users/Me/Library/Developer/Xcode/DerivedData/gtests-fgfrckirrlestcgfahvvtwdhgndr/Build/Products/Debug/gtests 正常 x86_64 cd /用户/我/桌面/学习/项目/gtests 导出 MACOSX_DEPLOYMENT_TARGET=10.10 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10。 11.sdk -L/Users/Me/Library/Developer/Xcode/DerivedData/gtests-fgfrckirrlestcgfahvvtwdhgndr/Build/Products/Debug -F/Users/Me/Library/Developer/Xcode/DerivedData/gtests-fgfrckirrlestcgfahvvtwdhgndr/Build/Products/调试 -F/Library/Frameworks -filelist /Users/Me/Library/Developer/Xcode/DerivedData/gtests-fgfrckirrlestcgfahvvtwdhgndr/Build/Intermediates/gtests.build/Debug/gtests.build/Objects-normal/x86_64/gtests.LinkFileList - mmacosx-version-min=10.10 -stdlib=libc++ -lgtest_main -framework gtest -lgtest -Xlinker -dependency_info -Xlinker /Users/Me/Library/Developer/Xcode/DerivedData/gtests-fgfrckirrlestcgfahvvtwdhgndr/Build/Intermediates/gtests.build/Debug /gtests.build/Objects-normal/x86_64/gtests_dependency_info.dat -o /Users/Me/Library/Developer/Xcode/DerivedData/gtests-fgfrckirrl estcgfahvvtwdhgndr/Build/Products/Debug/gtests

我想,框架确实只包含头文件,我还必须将 libgtest_main.alibgtest.a 添加到某个目录中,但我没有找到任何合适的文件夹。我该怎么办?

【问题讨论】:

    标签: c++ xcode googletest


    【解决方案1】:

    您需要为调试和发布版本设置项目的链接器搜索路径。

    您可以设置为:$(PROJECT_DIR)/Library/Frameworks

    使用$(PROJECT_DIR) 对齐您的搜索路径,而不仅仅是包含静态路径。

    【讨论】:

    • 我没有。我的项目目录不包含库/框架。无论如何,我只是将这些注释写到 LinkerSearchPath,制作了这个文件夹,在那里添加了 .framework 和 .a -files。因此,我得到另一个错误:架构 x86_64 的未定义符号:“testing::internal::EqFailure(char const* ... td::__1::allocator > const&, bool)”,引用自:测试: :AssertionResult ... in main.o ld: 未找到架构 x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 2014-02-07
    • 1970-01-01
    • 2013-12-01
    相关资源
    最近更新 更多