0

我是 C++ 新手,在尝试编译我的程序时遇到了一些麻烦。我有一个Driver.cpp包含main(), 和 2 个头文件的文件,每个头文件都有相应的.cpp文件。它们都在同一个目录中。该Driver.cpp文件仅调用其他头文件之一中的函数,该函数完成其余工作。我的问题是我无法编译代码,因为我不断收到“文件中首先引用的未定义符号”错误。我尝试了许多不同的方法来编写编译代码,但没有一个有效。这是我试过的一个:

"g++ -lm -o outputfile headerOne.cpp headerTwo.cpp Driver.cpp" 

如果有人可以帮助我,我将不胜感激。谢谢!

编辑:顺便说一句,我在将它放入 Linux 之前在 Visual Studio 中尝试了此代码并且它有效。不确定这是否意味着什么,但我想我会在这里添加。让我知道是否需要附加一些代码。

4

2 回答 2

1

我想到了!事实证明,我的 .cpp 文件中没有将一些变量定义为 .h 文件中的“extern”,而且我的函数定义中缺少“内联”。无论如何,感谢您的帮助!

于 2013-02-19T21:59:45.210 回答
0

由于您的代码在视觉工作室中工作,我将假设您的包含正确阅读此链接它可能会给您一些关于 linux 环境的指导

http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html

于 2013-02-19T21:50:58.740 回答