我根本无法弄清楚如何将 libjson 安装为我的 c++ 项目的一部分。我在网上经历了一切。我将其嵌入到我的项目中。
首先我试过这个
- 将 libjson 目录移到我的项目中
- 注释掉:#define JSON_LIBRARY
- 冉使
- 添加了#include "libjson/libjson.h"
项目构建正常..
在我的 main.cpp 文件中添加了以下内容:
JSONNode n = libjson::parse(json);
构建失败并出现两个错误:
Undefined symbols for architecture x86_64:
"JSONWorker::parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
libjson::parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in main.o
"internalJSONNode::deleteInternal(internalJSONNode*)", referenced from:
JSONNode::decRef() in main.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
我也尝试过 make && sudo make install 并手动编译项目。相同的错误:
g++ main.cpp -o junk -I/usr/include/libjson -ljson
我也试过:
SHARED=1 make && sudo SHARED=1 prefix=/usr/local make install
最后,我尝试将 libjson 文件复制到我的项目中,并且也得到了相同的错误。
请有人可以告诉我我做错了什么吗?我们使用的是 rapidjson,但更喜欢 libjson 的外观。主要问题是我们无法安装它!
使用的其他参考资料: