无法在Linux中使用自定义头文件编译C ++程序

时间:2013-02-19 21:41:16

标签: c++ linux

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

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

如果有人能帮助我,我会非常感激。谢谢!

编辑:顺便说一下,我在Visual Studio中尝试了这个代码,然后才把它放到Linux中并且它有效。不确定这是否意味着什么,但我想在这里添加它。如果我需要附上一些代码,请告诉我。

2 个答案:

答案 0 :(得分:1)

我明白了!原来我的.cpp文件中没有定义一些变量作为我的.h文件中的“extern”,我在函数定义中缺少“inline”。无论如何,谢谢你的帮助!

答案 1 :(得分:0)

由于你的代码在visual studio中工作,我将假设你的包含正确阅读这个链接它可能会给你一些linux环境的指导

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

相关问题