编译使用命令行g++问题
Compiling using Command Line g++ Question
我正在尝试创建一个Makefile来编译一个特定的程序。
我有1个。cpp文件和2个。h文件。
输入
g++ source.cpp header1.h header2.h -o programOut
问题是我得到一个错误。
主要在第二个头文件中,其中appointment是在第一个头文件中定义的类。第二个头文件主要包含(函数原型?)我只是得到了我使用的其他函数,删除了实现并将其放在那里。
error: ‘Appointments’ does not name a type
error: ISO C++ forbids declaration of ‘left’ with no type
error: ‘Appointments’ does not name a type
error: ISO C++ forbids declaration of ‘right’ with no type
error: ‘string’ does not name a type
error: ‘time_t’ does not name a type
如果我执行g++ source.cpp -o programOut,它会编译得很好然而,当我添加。h文件时,我输入g++,它给了我上面所示的错误。知道为什么吗?
通常,您不应该在要编译的文件列表中包含头文件。相反,您的源文件(如source.cpp)将已经#include
了它们需要的头文件。如果你的头文件中有非原型代码,需要编译成它们自己的。o文件,那你就做错了。
g++
期望通过命令行传递的文件是编译单元。头文件不是编译单元,因此首先不应该在命令行上传递。
g++ -Wall -Werror source.cpp
但是你必须在代码所在的目录下
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- 如何重构类层次结构以避免菱形问题
- 基于boost的程序的静态链接——zlib问题
- C++格式化输出问题
- 使用mongocxx驱动程序时包含头文件问题