对第二个函数

时间:2016-02-17 13:51:07

标签: c++ gcc declaration extern

在项目中有以下标题(和对应的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 ++混合代码。

0 个答案:

没有答案