2

ソース ファイル driver.cxx をコンパイルしようとしています。そのインクルード ファイルには、次のライブラリがあります。

このファイルへのパスは/home/terry/Downloads/libodb-2-4-0/odb/sqlite/database.hxx

それをコンパイルするには、次のように入力します。

g++ -c driver.cxx -I/home/terry/Downloads/libodb-2.4.0/odb

そしてメッセージを受け取る

driver.cxx:10:35: 致命的なエラー: odb/sqlite/database.hxx: No such file or directory #include ^ コンパイルが終了しました。

g++ の -I フラグを使用するときにパスを指定するにはどうすればよいですか?

4

4 に答える 4

3

貼り付けたエラーによると、インクルード コマンドは次のようになります。

#include "odb/sqlite/database.hxx"

その場合、-Iオプションはodbdir なしである必要があります (インクルードで既に言及されているため):

-I/home/terry/Downloads/libodb-2.4.0/

全体-Iとして、インクルードと連結されたものは正確なパスである必要があります。


含めることにした場合の意味:

#include "database.hxx"

オプション-Iは次のとおりです。

-I/home/terry/Downloads/libodb-2.4.0/odb/sqlite

繰り返しますが、-I+ include = 正確なパスです。

于 2015-06-24T12:43:06.983 に答える
0

あなたのエラーがあなたが使用していることに言及していることがわかります#include <odb/sqlite/database.hxx>。に変更してみてください#include <database.hxx>

于 2015-06-24T12:43:08.643 に答える