gpt4 book ai didi

compiler-errors - ld :framework not found sfml

转载 作者:行者123 更新时间:2023-12-04 07:17:10 25 4
gpt4 key购买 nike

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

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

并得到这个错误:

ld: framework not found SFML

如有任何帮助,我们将不胜感激。

最佳答案

首先,教程指定/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 是system, window, graphics, audio or 网络

此外,-o 选项指定输出文件名。您的命令不会接受任何输入文件并输出可执行文件 sfml-test.cpp,因此请使用 -o sfml-test sfml-test.cpp 来获取 sfml- test.cpp作为输入,输出sfml-test

你的命令是:

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

关于compiler-errors - ld :framework not found sfml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53123089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com