У меня есть рабочая область с проектом, который связан со статическими библиотеками в другом проекте (который также находится в рабочей области). Это проблема в Kobold2D , которую я не смог решить, хотя я понимаю причину, и я полагаю, что это похоже на этот вопрос .
Целевые объекты проекта и целевые объекты статической библиотеки имеют конфигурации сборки Debug и Release . Все хорошо.
Теперь кто-то добавляет в проект новую конфигурацию сборки и называет ее, например, Ad-Hoc . Теперь цель проекта строит конфигурацию Ad-Hoc , однако статические библиотеки не имеют такой конфигурации. Очевидно, они затем по умолчанию создают конфигурацию Release .
В конце, когда компоновщик должен собрать все вместе, он терпит неудачу:
ld: library not found for -lbox2d-ios
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang++ failed with exit code 1
Для принудительно загруженных библиотек через -force_load $ (BUILT_PRODUCTS_DIR) /libSomeLib.a
ошибка аналогична, но говорит "файл не найден". Следует отметить, что библиотека libbox2d-ios.a находится в списке фазы сборки «связать двоичный файл с библиотеками».
Очевидно, проблема в том, что компоновщик предполагает, что библиотеки находятся в папке Ad-Hoc-iphoneos в BUILT_PRODUCTS_DIR, тогда как на самом деле они находятся в папке Release-iphoneos , потому что у них нет конфигурации сборки Ad-Hoc .
Как я могу дать компоновщику пощечину и сказать ему, чтобы он получил библиотеки там, где они есть? Предпочтительно я ищу решение, которое работает в обоих случаях, то есть библиотеки, добавленные стандартным способом (связать двоичный файл с этапом сборки библиотек), и библиотеки, которым для работы требуется дополнительная -force_load.
Я надеюсь, что есть способ:
Простите, но Я должен сказать это… АРГХ! :)
Это - предварительная ошибка времени компиляции для Library
, или Framework
Вы испытываете эту проблему, потому что XCode не может найти местоположение общедоступных заголовков, просто сказать XCode, где они путем добавления правильного пути.
можно добраться Module not found
когда:
Build Settings -> Header Search Paths
Build Settings -> Framework Search Paths