C编译器在尝试包含C++类标头时生成错误
C Compiler is generating errors when trying include C++ class header
我正在使用gcc(C编译器(不能使用C++))编译C代码,其中一个.C文件包含一个定义C++类Monitor的头(Monitor.h)。当我尝试编译时,我收到以下错误:-
在/home/tp/workspace/gft/Display.h:39中包含的文件中,来自asr_iface_ctl.c:29:
/home/tp/workspace/pcd/Monitor.h:19:错误:应为'=',',';','asm'或'_属性_'在'Monitor'之前
以下是我传递给编译器(Makefile)的一些标志:
COMPILE_LEVEL = -O3
OPTIONS = -g -Wall $(COMPILE_LEVEL) -D_REENTRANT
.SUFFIXES:
.SUFFIXES: .cpp .c $(SUFFIXES)
TMP = $(SRC:.c=.o)
OBJS = $(TMP:.cpp=.o)
.cpp.o:
@echo " Compiling $<"
@$(CPP) $(CFLAGS) -c $<
.c.o:
@echo " Compiling $<"
@$(CC) $(CFLAGS) -c $<
@ar -rc $(LIB) $@
在.C文件中包含C++类头可以吗?如果是,我如何解决上述错误?
注意:我不能使用C++编译器。
不,不能在C程序中包含C++头。C++不是C,C编译器不会理解C++。
你所要做的就是大声说出这个。"我不能使用C++。我正在尝试使用C++类并包含C++标头。"
你被互联网上提到的C/C++一词误导了。没有这样的语言;虽然您可以在C++中使用大部分C,因为C++被设计为与大多数C代码兼容,但事实并非如此。注意:C不是C++,C++不是C,但是,C++与C共享一个子集。
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 在某些循环内使用vector.push_back时出现分段错误
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 错误:未在此范围内声明'reverse'