首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到系统头文件的C++版本

找不到系统头文件的C++版本
EN

Stack Overflow用户
提问于 2020-07-02 11:51:48
回答 1查看 886关注 0票数 0

使用“.在项目中添加sqlite.c之后”,我应该继续,因为每件事情都很好。像cassertcerrnocstdio这样的标头,比方说,c*确实存在,并且通常编译器会看到它们并编译它们。

在将sqlite3.c添加到项目之后,现在我设想这些头文件的.h版本(assert.herrno.h等)。首先将其添加到编译器中,然后防止在其他文件中包含c*头文件。

编译器报告如下:"cassert: No such file or directory",这不是事实。

我正在用qmake/gcc编译。

我怎么才能解决这个问题?

编辑:问题似乎与预编译头有关。在@Caduchon的评论之后,我再次查看了编译日志,然后看到了这个预编译头:

代码语言:javascript
复制
gcc -x c++-header pre.hpp

..。

代码语言:javascript
复制
gcc -x c-header pre.hpp

预编译头被添加到编译2次。第二个是c-header。我设想,当项目中没有.c文件时,预编译头只作为c++-header处理一次。但是,当也有一个.c文件时,它也被编译为c-header

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-02 13:58:58

问题是由于预编译的头文件。当.c文件被引入到项目中时,预编译的头文件也被编译为c-header文件。注释掉C编译器头的C++部分解决了这个问题:

代码语言:javascript
复制
#ifdef __cplusplus
#endif
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62695759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档