解決済み:理由と方法が完全にはわかりませんが、-I~/dlib-18.18 から -I../dlib-18.18 に変更すると機能します。
dlib ライブラリを使用してプログラムをコンパイルするメイクファイルを作成しようとしています。ライブラリをルートディレクトリにダウンロードしてインストールしました。
.cpp ファイルのヘッダーは次のとおりです。
#include "dlib/optimization.h"
#include <iostream>
dlib フォルダーは dlib-18.18 内に含まれており、optimization.h は実際には dlib フォルダー内にあります。
以下は私のmakefile(またはその一部)です。関連するディレクトリを CFLAGS に含めました。ただし、コンパイル中にg ++は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 $@