web-dev-qa-db-ja.com

コードブロックがヘッダーファイルを見つけることができません

それで、数時間前にコードライトでc ++を学び始めましたが、イライラしていたので、コードブロックを取得してプロジェクトをインポートしました。しかし今、私がコンパイルしようとすると、それは返されます:

致命的なエラー:imports.h:そのようなファイルまたはディレクトリはありません

これは、コードブロック内の私のプロジェクト階層です。

img

そして、これはプロジェクトフォルダがどのように見えるかです:

img

私は何が間違っているのですか?

5
Derek Lesho

これは数年後のことですが、最近、私が考えていることをフォローしている学生が、上記のような率直に言って悪いアドバイスであるのを見ました。 C++を学んでいる人にとって、この機能はあなたには向いていません。ヘッダーを追加するには、山かっこではなく、二重引用符を使用していることを確認する必要があります。

#include "myheader.h"

ではなく

#include <myheader.h>

山かっこは(非公式に)ライブラリ用であり、基本クラス用の単純なヘッダーファイルを追加するために、デフォルトの検索ディレクトリを変更する必要はありません。問題は、他の誰かがあなたのコードを実行しようとし(あなたがuniに対してこれを行っていると仮定して)、彼らのIDEが「ライブラリ」(ヘッダー)を検索するように設定されていない場合二重引用符は、ファイルが現在の相対ディレクトリに存在することをコンパイラに示します。これにより、メイン、ヘッダー、およびヘッダーの実装を1つのディレクトリに保持できます。IDE必要に応じて行うKISS

10
PiPatrol

インクルードするヘッダーファイルの場所をCodeblocksに指示する必要があります。コードブロックのインクルードディレクトリの「/ Headers」にフルパスを追加してみてください

[コードブロック]メニュー> [設定]> [コンパイラ]> [ディレクトリの検索]> [追加]に移動します。

編集:ただし、あなたの問題はC++言語自体の学習とはまったく関係がないため、単純なプログラムから始めて、より複雑なプログラムに進むことをお勧めします。もちろん、他のプログラミング言語の経験がない限り、

8
neoaggelos

Makroが見つからないので

#define 'hostname of device where compiler is located' // which is unique and not to be copied !

私は今、うまく使用して含めました

#include "myCompileEnv.h" 

上記のコメントの回避策として、CodeBlocksのプロジェクトディレクトリの上にあります。

0
Peter