2017-03-14 24 views
0

lib4/config4cppのプロジェクトディレクトリにconfig4cppを抽出しました。私はlib/config4cppでmakeファイルを実行しました。静的C++ライブラリの使用config4cpp

私は、これは私のプロジェクトのトップCPPファイル私は私のメイクファイルに次の行を持って

#include "lib/config4cpp/include/config4cpp/Configuration.h" 

g++ -L./lib -c queue.cpp -lcurl -lconfig4cpp 

が、私はこのエラー

g++ -c -o queue.o queue.cpp 
In file included from queue.cpp:4:0: 
lib/config4cpp/include/config4cpp/Configuration.h:35:34: fatal error: config4cpp/namespace.h: No such file or directory 
#include <config4cpp/namespace.h> 
           ^
compilation terminated. 
<builtin>: recipe for target 'queue.o' failed 
make: *** [queue.o] Error 1 
を取得していますに含める追加されました

したがって、Configuration.hファイルを見つけるように見えますが、他のヘッダーの1つが見つかりません。

私もこれはと思わ

g++ -I"lib/config4cpp/include/" -c queue.cpp 

を試してみましたが、ヘッダーを変更し

#include <config4cpp/Configuration.h> 

に含ましかし、私はそれがnamespace.hファイルを見つける傾ける同じエラーを取得しています私のmakeファイルの中から実行されることに関連したものがあります。

あなたが使用したいヘッダへの絶対パスを与える:私はあなたをg ++ので、以下の問題が発生したために-I引数を与えられていない見ることができるものから、

output: main.o queue.o 
    g++ main.o queue.o -o"bin/behavior" 

main.o: main.cpp 
    g++ -c main.cpp 

message.o: queue.cpp 
    g++ -c queue.cpp -L"./lib" -lconfig4cpp -I"./lib/config4cpp/include" 

clean: 
    rm *.o bin 

答えて

1

。このヘッダーは、ローカルのフォルダー(.cppファイルがある場所)の内部に「配置」されるようになりました。 "config4cpp/namespace.h"をインクルードしようとすると、現在のフォルダの中を調べます。しかし、あなたは "config4cpp/namespace.h"ファイルをローカルに持っていません。

-I"lib/config4cpp/include/"

を引数としてG ++、以下のフォルダ構造とする:あなたがする必要がどのような

が追加され

$BASE_DIR 
    |-- config_test.cpp 
    | 
    |--lib 
    | |-- config4cpp.a 
    | | 
    | |-- config4cpp 
    | |   |-- include 
    | |   |  |-- config4cpp 
    | |   |  |   |-- Configuration.h 
    | |   |  |   |-- namespace.h 
    | |   |  |   |-- ConfigurationException.h 
+0

私は先に行って、これに-Iフラグを調整しました。私はまだこのエラーを受け取ります。lib/config4cpp/include/config4cpp/Configuration.h:35:34:致命的なエラー:config4cpp/namespace.h:そのようなファイルはありません。ディレクトリ #include hcker2000

+0

私のマシン上にあなたの設定を作り直しました。それは完全にコンパイルされています。私のコマンドは次のとおりです: 'g ++ config_test.cpp -o config_test -L" ./lib "-lconfig4cpp -I" ./lib/config4cpp/include " – DatCorno

+0

あなたのコマンドが欠落しています。 。 – hcker2000

関連する問題