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

Cannot compile C++ program with custom header files in Linux

本文关键字:文件 编译 C++ 程序 自定义 Linux      更新时间:2023-10-16

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

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

如果有人能帮我,我将不胜感激。谢谢!

编辑:顺便说一句,在将此代码放入Linux之前,我曾在Visual Studio中尝试过它,并且它很有效。不确定这是否意味着什么,但我想在这里补充一下。如果我需要附加一些代码,请告诉我。

我想通了!事实证明,我的.cpp文件中没有将一些变量定义为.h文件中的"extern",函数定义中也缺少"inline"。无论如何,谢谢你的帮助!

由于您的代码在visual Studio中工作,我假设您的包含是正确的。阅读此链接,它可能会为您提供一些linux环境的指导

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