如何使用头文件?

时间:2013-06-12 10:21:42

标签: c++ header

我想学习使用头文件。我收到了一个错误。这是我的代码:

printmyname.h:

void printMyName();

printmyname.cpp:

#include "printmyname.h"

void printMyName() {
    cout << "omer";
}

try.cpp(主文件):

#include <iostream>
#include "printmyname.h"
using namespace std;


int main() {
    printMyName();

    return 0;
}

这是错误:

undefined reference to `printMyName()`

问题是什么?

3 个答案:

答案 0 :(得分:4)

在这种情况下,Undefine引用与头文件无关。这意味着链接器无法找到printMyNameprintmyname.cpp的实现。如果您使用g++,则应尝试:

g++ try.cpp printmyname.cpp -o yourBinaryName

如果您使用的是makefile,则应该为try.cpp正确添加依赖项(printmyname.cpp)。

编辑:

正如@zmo在他的评论中所说:

你也可以通过两次编译(更适合Makefile)来实现:

g++ -c printmyname.cpp 
g++ try.cpp printmyname.o -o yourBinaryName

答案 1 :(得分:0)

如果您使用的是Windows,则还需要将printmyname.cpp添加到项目中。 考虑添加include guard to your header

#ifndef PRINTMYNAME_INCLUDED 
#define PRINTMYNAME_INCLUDED 

void printMyName();

#endif

您还需要将#include <iostream>using namespace std;从try.cpp移动到printmyname.cpp文件。

答案 2 :(得分:-6)

您只需要在printMyName.cpp中的printMyName.cpp中添加代码/定义。

void printMyName();
{
    cout << "omer";
}