Я пытаюсь реализовать этот учебник с добавлением того, что я хочу включить библиотеку json11 C++.
Я выполнил один и тот же процесс для обоих, загрузив репо с: https://github.com/libmx3/mx3, добавил их в папку /deps/ моего проекта и запустил GYP для создания файлов .xcodeproj для обоих.
Затем я создаю проект C++, добавляю оба проекта в рабочую область и добавляю библиотеки в разделе «Фазы сборки» -> «Связать двоичные файлы с библиотеками».
Когда я нажимаю «Выполнить», сборка завершается с ошибкой ld: library not found for -ljson11
.
Я попытался восстановить их и добавить в основной файл xcodeproj. и в целевые зависимости. Я дважды проверил проекты библиотеки, и они идентичны. Я также добавил папки, в которых компилируются файлы .a, в пути поиска библиотеки, но ничего из этого не имеет значения. Если я удалю зависимость json11, проект скомпилируется, но я не могу понять, почему sqlite3 найден и не выдает ошибок, но идентичный проект json11 не будет работать.
Я вижу файлы .a в папке Debug-build, и если я создам их отдельно, ошибок не будет.
Вот полный лог сборки
Ld /Users/myuser/Library/Developer/Xcode/DerivedData/DjinniTest-eqaqzcfyskdxupbqpdngkdmoidtq/Build/Products/Debug/DjinniTest normal x86_64
cd /Users/myuser/Documents/Dev/djinni_test/cpp_project
export MACOSX_DEPLOYMENT_TARGET=10.11
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-arch x86_64
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
-L/Users/myuser/Library/Developer/Xcode/DerivedData/DjinniTest-eqaqzcfyskdxupbqpdngkdmoidtq/Build/Products/Debug
-L/Users/myuser/Library/Developer/Xcode/DerivedData/DjinniTest-eqaqzcfyskdxupbqpdngkdmoidtq/Build/Products/Debug/..
-F/Users/myuser/Library/Developer/Xcode/DerivedData/DjinniTest-eqaqzcfyskdxupbqpdngkdmoidtq/Build/Products/Debug
-filelist /Users/myuser/Library/Developer/Xcode/DerivedData/DjinniTest-eqaqzcfyskdxupbqpdngkdmoidtq/Build/Intermediates/DjinniTest.build/Debug/DjinniTest.build/Objects-normal/x86_64/DjinniTest.LinkFileList
-mmacosx-version-min=10.11
-stdlib=libc++
-ljson11
-lsqlite3
-Xlinker
-dependency_info
-Xlinker /Users/myuser/Library/Developer/Xcode/DerivedData/DjinniTest-eqaqzcfyskdxupbqpdngkdmoidtq/Build/Intermediates/DjinniTest.build/Debug/DjinniTest.build/Objects-normal/x86_64/DjinniTest_dependency_info.dat
-o /Users/myuser/Library/Developer/Xcode/DerivedData/DjinniTest-eqaqzcfyskdxupbqpdngkdmoidtq/Build/Products/Debug/DjinniTest
ld: library not found for
-ljson11
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Редактировать: даже если я добавляю скомпилированные файлы в проект, чтобы они стали черными, он все равно жалуется, что библиотека ljson11 не найдена. Может быть, что-то не так с компиляцией библиотеки?
json11
? т.е. где в файловой системе находится файл с именемlibjson1.so
илиlibjson1.a
? - person Some programmer dude   schedule 10.12.2015/Users/myuser/Library/Developer/Xcode/DerivedData/DjinniTest-eqaqzcfyskdxupbqpdngkdmoidtq/Build/Products/Debug-iphoneos/
- person Mknsri   schedule 10.12.2015