无法制作头文件

时间:2014-02-14 05:48:51

标签: c++ header-files

我正在尝试创建自己的头文件,其中包含一个类Vector 根据一些网站的建议,为了创建头文件,我创建了两个不同的文件: -

1)collections.h(包含声明) 2)collections.cpp(包含定义)

另一个文件是main.cpp,它包含main函数,我将在其中使用collections.h

所有这些文件都在同一目录中

我遇到的麻烦是编译器显示错误

Undefined reference to Vector::Vector(int, int)
等我班上的所有功能。

我确保collections.cpp和main.cpp都有#include "collections.h"

如何解决上述问题?

我在ubuntu 12.04下使用gcc编译器

2 个答案:

答案 0 :(得分:2)

首先构建目标文件:

gcc -c main.cpp -o main.o
gcc -c collections.cpp -o collections.o

然后将它们链接在一起:

gcc collections.o main.o -o main

答案 1 :(得分:1)

您需要构建两个源文件并将它们链接在一起。

在Linux命令行中,您可以通过将两个源文件都提供给gcc来最简单地执行此操作:

$ g++ -Wall main.cpp collections.cpp -o my_program

注意:我添加了-Wall选项以默认启用更多警告。启用更多警告始终是一个非常好的习惯,因为它们通常可以指出逻辑错误或可能存在未定义行为的地方。