未定义的自编函数引用

时间:2015-09-15 09:46:32

标签: c++ codeblocks undefined-reference

我知道它必须是一个愚蠢的问题,但我现在无法解决这个问题5个小时而且它会让我感到害怕:我学习C ++并按照我的要求做所有事情to,但我不能构建我的函数,因为编译器不会识别我的函数。我尝试使用一个绝对简单的,但问题仍然存在。我正在使用代码块。 main.cpp,ezmukszik.cpp和ezmukszik.h位于同一个项目库中,我检查了Settings / Compiler / Build Options,将工作目录显式添加到编译器搜索目录中。错误消息如下:

in function main
/in line 8/ undefined reference to 'ezmukszik()'

标题:

#ifndef EZMUKSZIK_H_INCLUDED
#define EZMUKSZIK_H_INCLUDED

#include <iostream>

int ezmukszik();

#endif // EZMUKSZIK_H_INCLUDED

源代码:

#include <iostream>

using namespace std;

int ezmukszik()
{
    std::cout << "Hello world!" << std::endl;
    return 0;
}

主要:

#include <iostream>
#include "D:\BME suli\C++\Programok\ezmukszik\ezmukszik.h"

using namespace std;

int main()
{
    ezmukszik();
    return 0;
}

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

错误是LINKER错误,表示您的ezmukszik.cpp文件在编译为main.o后未与ezmukszik.o链接在一起。

检查链接命令行。

答案 1 :(得分:0)

我终于设法解决了这个问题,这是一个烦人的解决方案:我在新的文件窗口中添加了代码块中的源文件,它显示在项目源下,但由于某种原因它仍然没有编译。在最右边的窗口中右键单击添加它解决了问题。:) 谢谢大家的帮助!