在项目中有以下标题(和对应的cpp):
#include <string>
#include <vector>
#ifndef STRINGWORK_H
#define STRINGWORK_H
using namespace std;
vector<string> split(const string& str, const string &delimiters = " ");
string trim(string &str);
#endif // STRINGWORK_H
构建项目返回链接器错误:
file.cpp:21:错误:未定义对`trim(std :: string&amp;)'的引用
如果我将extern "C"
添加到第二个函数,项目构建正常。如果我还将extern "C"
添加到第一个函数,则再次获取链接器错误,但是对于第一个函数:
file.cpp:16:错误:未定义引用`split'
这是什么问题?如何正确声明这些功能?
What is an undefined reference/unresolved external symbol error and how do I fix it? - 没有解释事情,也没有帮助,因为我们有C / C ++混合代码。