Xcode, SFML ошибка dyld: библиотека не загружена - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь запустить базовый проект C ++ со ссылкой на библиотеку SFML.Я разархивировал библиотеку 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) 

Я использую Xcode 9.3.1 на High Sierra 10.13.4

Обновление: Я также попытался переместить папку SFML внутри папки проекта и даже попытался разделить include,libs, frameworks, extlibs tu / usr / local, как в учебнике по SFML, но я всегда получаю один и тот же вывод.

Вот фотографии моих настроек Folder structure

Header search path

Library search path

Added frameworks too

The output

1 Ответ

0 голосов
/ 02 июня 2018

Хорошо, я все заработал после того, как снова внимательно прочитал учебник по началу работы.На Mac они рекомендуют использовать файлы Framework, поэтому я сделал следующее:

  1. Копирование содержимого SFML / Frameworks и SFML / extlibs в / Library / Frameworks
  2. Проект Xcode Фазы сборки-> Связать двоичные файлы с библиотеками -> Добавить все SFML-фреймворки из папки / Library / Frameworks (не нужно добавлять фреймворки extlib)

Примечание. Не нужно добавлять «Включить пути поиска» или «Пути поиска в библиотеке»с этим методом.

...