繁体   English   中英

c ++编译器(g ++)奇怪的行为(没有此类文件或目录)

[英]c++ compiler (g++) strange behaviour (no such file or directory)

我正在使用MinGw(g ++)编译器进行月食。

所以我的问题是,当我从已下载的库中导入.h文件时,我尝试构建(编译)我的项目,错误是该.h文件的“没有这样的文件或目录”,您可以在图片上看到,但仍然是来自该头文件在代码中被识别! 另一个奇怪的事情是,如果我故意在该.h文件#import中犯了错误,并且显示了该.h文件中的错误,则表示它试图编译该.h文件。 因此它不知道文件在哪里,但仍在编译它? 什么???

cmd行:

g++ -Ic:D:\Documents\cpp_testing\bignum_testing\lib Main.cpp

错误:

Main.cpp:10:22: fatal error: Cbignums.h: No such file or directory
 #include "Cbignums.h"
                      ^
compilation terminated.

我希望somone会知道如何解决此问题,并能对其他人有所帮助!

.h文件中没有错误的图片: 在此处输入图片说明

.h文件中的故意错误图片! 在此处输入图片说明

EOF主要是一个ç东西<cstdio > (或<stdio.h>形成C标准库,而不是C ++一个)你可能忘了包括(例如,通过注释其//#include <cstdio>

尝试使用适用于g++ -I-H 预处理程序选项进行g++ (当然,花一些时间阅读文档以了解它们的作用)。

顺便说一句,您可以使用g++ -C -E Cbignums.cpp > Cbignums.ii来请求预处理的表单,然后使用某些编辑器或寻呼机查找生成的Cbignums.ii文件。

我强烈建议您阅读一本有关使用C ++编程的好书,并阅读GCC文档 通常,请阅读用于开发的所有内容的文档(工具,例如编译器和库)

PS。 我知道的每个免费软件C ++编译器( GCCClang / LLVM ...)都是命令行工具,因此可以在终端中运行它们,也许通过GNU make即可 请注意,Eclipse 不是编译器(它是一个编辑器,自称为IDE),并且您可能没有聪明地使用它。 不要忘记将-Wall -g传递给g++

我怀疑你应该

#include "lib/Cbignums.h"

bignum_testing.cpp如果是这样的路径Cbignums.h -相对于所述源文件。

IDE可以识别类型,因为项目中有标头,但红线表示包含将失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM