Похоже, ваш код должен быть связан со стандартной библиотекой C++. Изменение этих параметров целевой сборки в проекте и проверить, работает ли он,
Apple LLVM compiler language-> C++ language dialect-> Compiler default
Apple LLVM compiler language-> C++ standard library-> Compiler default
Кроме того, предупреждение сверху указывает на то, что библиотека libFunFX.a
не построена для i386
то есть iPhone симулятор. Чтобы убедиться, что вы можете попробовать.
Открыть терминал, Гото папку, содержащую библиотеку и использовать эту команду
lipo -info libFunFX.a ↵
//Output:
Architectures in the fat file: libFunFX.a are: armv7 i386
Если он не перечисляет i386, то не стоит беспокоиться, иначе вы должны сообщить владельцу, чтобы отправить вам файл FAT, содержащий кусочки для как устройство (armv7/armv7s), так и симулятор (i386).
EDIT
Я вижу две библиотеки в вашем проекте, объединить и создать единый файл FAT с помощью следующей команды.
lipo -create libFunFX.a libFunFXSim.a -output libFunFX_Univ.a
Так что теперь, если вы проверяете,
lipo -info libFunFX_Univ.a
//Output
Architectures in the fat file: libFunFX_Univ.a are: armv7 (cputype (12) cpusubtype (11)) i386
Изменения в файлах проекта
- Изменить
AppDelegate.m
для AppDelegate.mm
- Изменение ViewController.m в
ViewController.mm
- Добавить и привяжите выше создано
libFunFX_Univ.a
файл вместо двух отдельных файлов .a.
- Отметьте файлы
-fno-objc-arc
ниже изображения
внесение этих изменений я был в состоянии построить свой проект успешно для симулятора. Я не уверен, действительно ли вы хотите использовать ARC, потому что большая часть файлов отмечена для ручного управления памятью. В этом случае было бы проще просто ручное управление памятью для всего проекта. Просто предложение!
Надеюсь, что это поможет!
Спасибо за ваш ответ. Вот что я получил в терминале: << accounts002: SoundEffects_ARC Awais $ липо -info libFunFX.a Архитектуры в файле жира: libFunFX.a являются: ARMv7 (CPUTYPE (12) cpusubtype (11)) >> Я не понял. Kinda newbee –
@AwaisTariq Хорошо, '(cputype (12) cpusubtype (11))' is armv7s. Таким образом, ваша библиотека не содержит срез для i386. Поэтому вам нужно попросить владельца библиотеки отправить файл FAT, содержащий i386. Тем временем вы можете попытаться создать этот код для устройства. – Amar
Спасибо, я попробую^_^ –