找不到 -ljson11 的库,但找到 -lsqlite 3
Library not found for -ljson11 but -lsqlite 3 is found
我正在尝试实现 this tutorial,另外我想包含 json11 C++ 库。
我对两者都采用了相同的过程,从以下位置下载了 repo:
https://github.com/libmx3/mx3,将它们添加到我项目的 /deps/ 文件夹中,然后 运行 GYP 为两者生成 .xcodeproj 文件。
然后我创建一个 C++ 项目,将这两个项目都添加到工作区中,然后在 Build Phases->Link binaries with libraries 下添加库。
当我点击 运行 时,构建失败 ld: library not found for -ljson11
我尝试重新生成它们并将它们添加到主 xcodeproj 中。并进入目标依赖项。
我仔细检查了图书馆项目,它们是相同的。我还添加了在库搜索路径中编译 .a 文件的文件夹,但是 none 这会有所不同。如果我删除项目编译的 json11 依赖项,但我不明白为什么找到 sqlite3 并且没有抛出任何错误,但相同的 json11 项目将无法运行。
我可以在Debug-build文件夹中看到.a文件,如果我单独构建它们没有错误。
这是完整的构建日志
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库。也许库的编译方式有问题?
这两个库都发出警告,在支持的平台中找不到 "macosx"。当我将它添加到 json11 项目设置中时,构建已编译并且两个警告都消失了。
SQlite3 仍然只有 iOS(iphone,iphonesimulator) 但编译正常。我想知道有什么区别。
我正在尝试实现 this tutorial,另外我想包含 json11 C++ 库。
我对两者都采用了相同的过程,从以下位置下载了 repo: https://github.com/libmx3/mx3,将它们添加到我项目的 /deps/ 文件夹中,然后 运行 GYP 为两者生成 .xcodeproj 文件。
然后我创建一个 C++ 项目,将这两个项目都添加到工作区中,然后在 Build Phases->Link binaries with libraries 下添加库。
当我点击 运行 时,构建失败 ld: library not found for -ljson11
我尝试重新生成它们并将它们添加到主 xcodeproj 中。并进入目标依赖项。 我仔细检查了图书馆项目,它们是相同的。我还添加了在库搜索路径中编译 .a 文件的文件夹,但是 none 这会有所不同。如果我删除项目编译的 json11 依赖项,但我不明白为什么找到 sqlite3 并且没有抛出任何错误,但相同的 json11 项目将无法运行。
我可以在Debug-build文件夹中看到.a文件,如果我单独构建它们没有错误。
这是完整的构建日志
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库。也许库的编译方式有问题?
这两个库都发出警告,在支持的平台中找不到 "macosx"。当我将它添加到 json11 项目设置中时,构建已编译并且两个警告都消失了。
SQlite3 仍然只有 iOS(iphone,iphonesimulator) 但编译正常。我想知道有什么区别。