如何使用头文件

How to use header files?

本文关键字:文件 何使用      更新时间:2023-10-16

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

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()`

有什么问题吗?

在这种情况下,未定义引用与头文件无关。这意味着链接器在printmyname.cpp中找不到printMyName的实现。如果您正在使用g++,您应该尝试:

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

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

编辑:

正如@zmo在他的评论中建议的:

也可以通过两次编译(更适合使用Makefiles)来完成:

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

如果你使用的是Windows,你也需要将printmyname.cpp添加到你的项目中。考虑在标题

中添加include保护
#ifndef PRINTMYNAME_INCLUDED 
#define PRINTMYNAME_INCLUDED 
void printMyName();
#endif

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

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

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