プログラムをコンパイルするためのG ++ -Iオプション
-
05-07-2019 - |
質問
ここに、このようなLinuxプログラムの初心者には解決できない小さな問題があります。
今、コンパイルする必要のあるmain.cppプログラムがあります。
#include "Down.h"
ファイルの先頭。
実際には、このヘッダーファイルは他のディレクトリに存在します。
../../../ include
ディレクトリ。また、Down.hが必要とする他のヘッダーファイルもこの../../../includeディレクトリにあります。
ここに問題があります。main.cppをコマンドでコンパイルします
g++ -I /../../../include main.cpp
ただし、多くのエラー情報が表示されるため、このようにするのは正しくありません。
include宣言もこの宣言に変更する必要がありますか?
#include "../../../include/DownConvert.h"
いくつかアドバイスを残してください。ありがとう。
編集:
g ++ -I ../../../include main.cpp
を使用した後、次のエラーが表示されます:
$ g++ -I ../../../include main.cpp
In file included from ../../../include/DownConvert.h:98,
from main.cpp:92: ../../../include/ResizeParameters.h:4:22: error:
TypeDefs.h: No such file or directory
In file included from /usr/include/c++/4.4/bits/stl_algo.h:61,
from /usr/include/c++/4.4/algorithm:62,
from ../../../include/H2
解決
g++ -I /../../../include main.cpp
-I
の後の先頭のスラッシュを参照してください。それは絶対パスです。
相対パス(下記参照)に変更すると、正常に機能します。
g++ -I ../../../include main.cpp
他のヒント
g ++ -I ../../../include main.cpp
動作するはず
-vオプションを使用してみてください:
g++ -v -I ../../../include main.cpp
インクルードファイルを検索するディレクトリのリストにフォルダが含まれていることを確認します。このフォルダが存在しないという文句はありません。このような苦情がある場合は、-I
の後に指定したパスを修正してください所属していません StackOverflow