【问题标题】:ld:framework not found sfmlld:找不到框架 sfml
【发布时间】:2019-04-06 23:09:22
【问题描述】:

我将 Frameworks 的内容从 SFML 复制到 ~/Library/Frameworks 并尝试在 SFML 中运行第一个教程示例。 我在 g++ 中使用了这个:

g++ -o sfml-test.cpp -framework SFML -lsfml-window

并得到这个错误:

ld: framework not found SFML

任何帮助将不胜感激。

【问题讨论】:

    标签: compiler-errors g++ sfml


    【解决方案1】:

    首先,教程指定/Library/Frameworks不是~/Library/Frameworks~ 指向用户主目录(/Users/name/),而/ 指向文件系统的最低点。

    还有despite the documentation/Library/Frameworks不是标准的框架目录,所以要在搜索路径中设置。运行gcc -Xlinker -v可以看到标准框架目录:

    @(#)PROGRAM:ld  PROJECT:ld64-409.12
    BUILD 17:47:51 Sep 25 2018
    configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em arm64e arm64_32
    Library search paths:
        /usr/local/lib
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib
    Framework search paths:
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/
    Undefined symbols for architecture x86_64:
      "_main", referenced from:
         implicit entry/start for main executable
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    

    注意Framework search paths 部分,它不包括/Library/Frameworks

    要将/Library/Frameworks添加到搜索路径,用-F/Library/Frameworks编译并用-F/Library/Frameworks -framework SFML -framework sfml-x链接,x是systemwindowgraphicsaudionetwork

    另外,-o 选项指定输出文件名。您的命令将不接受输入文件并输出可执行文件sfml-test.cpp,因此使用-o sfml-test sfml-test.cppsfml-test.cpp 作为输入,并输出sfml-test

    你的命令是:

    g++ -o sfml-test sfml-test.cpp -F/Library/Frameworks -framework SFML -framework sfml-window

    【讨论】:

    • 我试过了,但出现以下错误:ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)跨度>
    猜你喜欢
    • 2016-01-13
    • 2016-02-09
    • 2016-02-04
    • 2017-08-16
    • 2017-01-17
    • 2019-02-16
    • 2015-07-04
    • 2018-07-02
    • 2017-03-21
    相关资源
    最近更新 更多