gpt4 book ai didi

c++ - 找不到 -ljson11 的库,但找到 -lsqlite 3

转载 作者:太空宇宙 更新时间:2023-11-04 13:23:20 25 4
gpt4 key购买 nike

我正在尝试实现 this tutorial另外我想包括 json11 C++ 库。

我对两者都遵循了相同的过程,从以下位置下载了 repo: https://github.com/libmx3/mx3 ,将它们添加到我项目的/deps/文件夹中,然后运行 ​​GYP 为两者生成 .xcodeproj 文件。

然后我创建一个 C++ 项目,将这两个项目添加到工作区中,并在构建阶段->将二进制文件与库链接下添加库。

当我点击运行时,构建失败并显示 ld: library not found for -ljson11

我已经尝试重新生成它们并将它们添加到主 xcodeproj 中。并进入目标依赖项。 我仔细检查了图书馆项目,它们是相同的。我还添加了在库搜索路径中编译 .a 文件的文件夹,但这都没有什么区别。如果我删除项目编译的 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) 但它编译得很好。我想知道有什么区别。

关于c++ - 找不到 -ljson11 的库,但找到 -lsqlite 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34200373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com