无法在Linux中使用自定义头文件编译C++程序
Cannot compile C++ program with custom header files in Linux
我是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
相关文章:
- 使用 Makefile 中的头文件编译 Pybind (不使用 cmake)
- 如何使用命令提示符、记事本和 MinGW 使用主文件、头文件和实现文件编译C++程序?
- 无论如何可以将webm / mp4文件编译/记忆为.exe程序吗?(C++)
- 从生成文件编译错误:"Unable to open output file" ..."No such file or directory"
- 如何使用 GLFW 预编译的二进制文件编译 Visual Studio 2019 发布版本
- Arduino IDE中自定义库类的.h文件编译错误的原因是什么
- makefile和错误将与大型项目分开的文件编译
- 如何使用生成文件编译具有多个目录的 c++ 项目
- 我可以将Visual Studio 2015头文件编译成dll并在VS2013中使用它吗?
- 使用Bazel将C 文件编译为python.h
- 使用 .a 文件编译简单的C++文件
- OpenCV 3.2 文件编译
- 如何从多个 cpp 文件编译 WebAssembly
- 从多个文件编译可以"undefined reference"
- 使用静态依赖性为共享二进制文件编译语法需要更加清晰
- 将Gsoap Src文件编译到我的项目中
- 如何用多个文件编译make下的dlib
- 字段的类型不完整,从多个文件编译
- 强制将特定文件编译为Objective-C/文件类型,但将整个项目编译为Objective C++
- OpenGLES 标头(包括 Availability.h)可防止 CPP 文件编译