可以确定的是, 静态库 链接 成功了,然后。 json 的问题是真的多啊。调用给的 json 静态库 0.7。把有问题的这一段给注释就没问题。 链接 静态库 ,后面一直卡在这里。官方也没有很好的觉得方式。奇葩问题 小本本记下来。扎个眼,后面再来记录。 使用 json cpp 出现 json _test. cpp :(.text+0x2c): undefined reference to ` Json :: Value :: Value ( Json :: Value Type)问题lib json cpp .a 没有正确 链接 。 我想你们知道得很清楚,创建,拷贝,并摧毁临时对象是你的C++编译器爱做的事,临时对象在内部被创建,不幸的是这极大影响到了C++程序的执行效率。实际上,临时对象是C++程序中最大的影响效率因素。这样的代码看上去不错:vector<string>ReadFile();vector<string>vec=ReadFile();或:strings1,s2,s3;s1=s2+s3;如果你需要效率,你就不要用这样的代码。ReadFile()和 operator +创造的临时对象分别被拷到目标对象,然后被丢弃——多么浪费!为了解决这个问题,你需要遵循不那么美观的规范。例如,你应该把目标对象作为函数的一个参数传进 sudo apt-get install lib json cpp -dev 系统会自动安装, 静态库 在系统:/usr/include; 动态库 在:/usr/lib/x84_64-linux-gnu ; 在 动态库 里面会有lib json cpp .a文件。 出现 这个问题就是CMake 没有引用... D:/android_NDK/android-ndk-r10e/platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o:crtbrand.c:function _start: error : u... 编写测试代码如下:// test.h#endif// test.c{}// main.c{}先将test.c编译成 文件。将main.c编译成可执行文件。 链接 出错了,原因很简单,test()这个函数的声明和定义不一致导致,将两者更改成一样即可通过编译。 undefined reference to ` Json :: Value :: Value 根据这个 链接 的说法,you have json cpp compiled with a different C++ ABI than you link against. The easiest solution is to use exactly the same compiler-version to build both library and executable. json cpp 使用 了其他的c+