Xcode,SFML错误代码:库未加载

Mul*_*eri 1 c++ macos xcode dyld sfml

我试图通过链接到SFML库来启动一个基本的C ++项目。我已将SFML库解压缩到/ Users / mulperi / cpplib / sfml文件夹,并将其添加到Include Search Path和Library Search Path中。

我的代码很简单,我遵循了有关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;
}
Run Code Online (Sandbox Code Playgroud)

构建成功,因此路径应该正确。我没有窗口,但是我有这些输出:

线程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    
Run Code Online (Sandbox Code Playgroud)

输出:

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) 
Run Code Online (Sandbox Code Playgroud)

我在High Sierra 10.13.4上使用Xcode 9.3.1

更新: 我也尝试将SFML文件夹移到项目文件夹中,甚至尝试像SFML教程中那样拆分include,libs,frameworks,extlibs tu / usr / local,但我总是得到相同的输出。

这是我设置的照片 资料夹结构

标头搜索路径

图书馆搜索路径

也添加了框架

输出

Mul*_*eri 5

好了,我仔细阅读了入门教程后,它开始工作了。在Mac上,他们建议使用Framework文件,所以我要做的是:

  1. 将SFML / Frameworks和SFML / extlibs的内容复制到/ Library / Frameworks
  2. Xcode项目的构建阶段->使用库链接二进制文件->从/ Library / Frameworks文件夹中添加每个SFML框架(无需添加extlib框架)

注意:无需使用此方法添加“包含搜索路径”或“库搜索路径”。

  • 仍然无法在 macOS 10.15.4、Xcode 版本 11.4.1 (11E503a) 上工作。Xcode 抱怨框架上文件的签名并停止编译过程 (5认同)