This question already has answers here:
What is an undefined reference/unresolved external symbol error and how do I fix it?
(34个答案)
4年前关闭。
当我运行以下代码时:
我收到以下错误:
我正在尝试编写一个程序来读取JSON文件,并且此代码还必须输出JSON文件中的数据,以供其他C++模块使用。
更新
我更改了代码以删除完整链接,并插入了运行后得到的dist文件夹:
然后将头文件输入C:\ MinGW \ include
我现在在jsoncpp.cpp文件中遇到很多错误(这是我在运行python命令后得到的文件,而我根本没有进行任何更改)。所有错误
说相同的消息,即:
(34个答案)
4年前关闭。
当我运行以下代码时:
#include <cstdio>
#include <iostream>
#include <fstream>
#include <cstring>
#include <C:\Users\User\Documents\jsoncpp-master\dist\json\json.h>
#include <C:\Users\User\Documents\jsoncpp-master\dist\json\json-forwards.h>
using namespace std;
int main(){
Json::Value root;
Json::Reader reader;
ifstream file("test.json");
return 0;
}
我收到以下错误:
undefined reference to `Json::Reader::Reader()'
undefined reference to `Json::Value::Value(Json::ValueType)'
我正在尝试编写一个程序来读取JSON文件,并且此代码还必须输出JSON文件中的数据,以供其他C++模块使用。
更新
#include <cstdio>
#include <iostream>
#include <fstream>
#include <cstring>
#include "dist\jsoncpp.cpp"
using namespace std;
int main(){
Json::Value root;
Json::Reader reader;
ifstream file("test.json");
return 0;
}
我更改了代码以删除完整链接,并插入了运行后得到的dist文件夹:
python amalgamate.py
然后将头文件输入C:\ MinGW \ include
我现在在jsoncpp.cpp文件中遇到很多错误(这是我在运行python命令后得到的文件,而我根本没有进行任何更改)。所有错误
说相同的消息,即:
first defined here
最佳答案
仅在源代码中包含h个文件是不够的。
您需要在项目中编译jsoncpp.cpp。
请关注https://github.com/open-source-parsers/jsoncpp#generating-amalgamated-source-and-header
并将jsoncpp.cpp,json / json.h,json / forwards.h添加到您的项目中。
10-08 04:14