Xcode mach -o компоновщик

133
15

Когда я пытаюсь скомпилировать свой проект с картой NMSSH, XCode 5 говорит:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_NMSSHSession", referenced from: objc-class-ref in HelloWorldViewController.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Что мне делать?

спросил(а) 2021-01-25T21:37:11+03:00 4 месяца, 4 недели назад
1
Решение
63

Я столкнулся с подобной проблемой. Вот что я сделал, чтобы исправить это.

Откройте загруженный Git repo в Finder Finder View

Откройте файл NMSSH-iOS.xcodeproj. НЕ NMSSH.xcodeproj!

Очистите и создайте проект.

Следуйте инструкциям на странице вики Github https://github.com/Lejdborg/NMSSH/wiki/Build-and-use-in-your-iOS-project

Собственно, это тоже на странице вики. Я знаю, что открыл неправильный проект Xcode, и кажется, что многие люди делают это случайно. Итак, это то, что я должен был сделать, чтобы решить эту проблему. Кроме того, вам нужно будет создать структуру как для физического устройства, так и для эмулятора, в зависимости от того, что вы используете, и в зависимости от вашего проекта. Xcode

Надеюсь это поможет! Удачи!

ответил(а) 2021-01-25T21:37:11+03:00 4 месяца, 4 недели назад
46

Попробуй это:

Click on the project then go to build settings and type linker flags in the search bar   
Add "-ObjC" to "Other Linker Flags"

ответил(а) 2021-01-25T21:37:11+03:00 4 месяца, 4 недели назад
45

Вам нужно связать NMSSH.framework с вашим проектом.

Откройте " Фазы сборки" в настройках вашего проекта и добавьте NMSSH.framework в группу " Связывание двоичных NMSSH.framework с библиотеками".

ответил(а) 2021-01-25T21:37:11+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема