解決済み:なぜ、どのようにして-I〜/ dlib-18.18から-I ../dlib-18.18に変更したのかが完全にわかりません。g ++はインクルードディレクトリを認識しません
私は、dlibライブラリを使用してプログラムをコンパイルするmakefileを作成しようとしています。私はダウンロードし、ライブラリをルートディレクトリにインストールします。
#include "dlib/optimization.h"
#include <iostream>
DLIBフォルダがDLIB-18.18内に含まれるとoptimization.hがDLIBフォルダに実際にある次のよう
.cppファイルのヘッダです。
以下は私のメイクファイル(またはその一部)です。関連するディレクトリをCFLAGSに含めました。しかし、コンパイル、それはoptimization.h(そのようなファイルまたはディレクトリ)を見つけることができないと言わ++グラム
EXUCUTABLE = graph
CXX = g++
CXXFLAGS = -I. -I/usr/include/ -I~/dlib-18.18
FLAGS = -g -O -Wall -Wextra -Werror -Wfatal-errors -std=c++11 -pedantic
############### Rules ###############
all: ${EXUCUTABLE}
clean:
rm -f ${EXUCUTABLE} *.o
## Compile step (.cpp files -> .o files)
%.o: %.cpp
${CXX} ${FLAGS} ${CXXFLAGS} -c $<
graph: graph.o
${CXX} ${FLAGS} $^ -o [email protected]
The /dlib-18.18/dlib folder when accessed from the terminal
あなたは '.cpp'と言いますが、ルールは'%.o:%.c'です。 '%.o:%.c%.cpp'や' CXXFLAGS'を設定するべきではありませんか? –
ヘッダーへのパスは '/ dlib-18.18/dlib/optimization.h'ですか?それは2つのカウントで奇妙に見えますが、どちらか一方で間違っている可能性があります。おそらく間違っているのは、ライブラリのヘッダがルートの特別なフォルダにあることです。あなたは '/ usr/include/dlib-18.18'、'。/ dlib-18.18'、または何かを意味していないと確信していますか?次に、ヘッダーは 'dlib-18.18'の' dlib'サブディレクトリに格納されていますか、 '#include" dlib-18.18/optimization.h "'を意味しましたか? –