我正在尝试启动一个带有SFML库链接的基本C ++项目。 我已将SFML库解压缩到文件夹/ Users / mulperi / cpplib / sfml 我已将其添加到包含搜索路径和库搜索路径。
我的代码很简单,我按照Youtube上的教程(也尝试了不同的现成代码):
#include <iostream>
#include <SFML/Graphics.hpp>
int main() {
sf::RenderWindow window(sf::VideoMode(640, 480), "First SML Window");
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
switch (event.type) {
case sf::Event::Closed:
window.close();
break;
default:
break;
}
}
window.clear();
window.display();
}
return 0;
}
构建成功所以路径应该没问题。我没有得到窗口,而是我有这些输出:
主题1:
dyld`__abort_with_payload:
0x10003b1e0 <+0>: movl $0x2000209, %eax ; imm = 0x2000209
0x10003b1e5 <+5>: movq %rcx, %r10
0x10003b1e8 <+8>: syscall
-> 0x10003b1ea <+10>: jae 0x10003b1f4 ; <+20>
0x10003b1ec <+12>: movq %rax, %rdi
0x10003b1ef <+15>: jmp 0x10003aa48 ; cerror_nocancel
0x10003b1f4 <+20>: retq
0x10003b1f5 <+21>: nop
0x10003b1f6 <+22>: nop
0x10003b1f7 <+23>: nop
输出:
dyld: Library not loaded: @rpath/libsfml-system.2.5.dylib
Referenced from: /Users/mulperi/Library/Developer/Xcode/DerivedData/sfml_1-cgodahbmxiufqnhhglbsyfuzvdvz/Build/Products/Debug/sfml_1
Reason: image not found
(lldb)
我在High Sierra 10.13.4上使用Xcode 9.3.1
更新 我也尝试在项目文件夹中移动SFML文件夹,甚至尝试在SFML教程中拆分包含,库,框架,extlibs tu / usr / local,但我总是得到相同的输出。
答案 0 :(得分:2)
好的,我仔细阅读了入门教程后再开始工作了。在Mac上,他们建议使用Framework文件,所以我做的是:
注意:无需使用此方法添加包含搜索路径或库搜索路径。
答案 1 :(得分:1)
在Catalina上,由于类似以下错误,似乎无法再接受该解决方案了:
sfml-audio.framework无法打开,因为开发人员无法通过验证
使用自制软件为我解决了该问题:
await Auth.signIn(email, password);
。然后在Xcode上链接homebre通过以下方式安装的库:导航到Xcode上的“使用库链接二进制文件”部分,将sfml库从brew install sfml
目录中拖放
单击生成并运行。项目现在应该可以成功构建并运行
答案 2 :(得分:0)
我尝试了 MacOS Catalina 10.15.4(在2020年)中的后续步骤:
要在Xcode中使用SFML,请尝试以下操作:
-> 1。使用以下命令安装sfml依赖项:$ brew install sfml
-> 2。转到Xcode项目并添加以下内容:(非常重要)
在“标题搜索路径”中添加“ /usr/local/Cellar/sfml/2.5.1/include”
在“图书馆搜索资源”中添加“ /usr/local/Cellar/sfml/2.5.1/lib
2.5.1是sfml 版本,请尝试使用当前版本。
-> 3。转到“构建阶段/使用库链接二进制文件”部分,并添加所有“ dylib”文件:
-> 4。最后,运行您的项目。
验证所有包含项均已正确添加到文件程序的顶部,并且正确放置了名称空间,如下所示:
#include <SFML/Graphics.hpp>
#include <iostream>
using namespace sf;