Macでcmakeを使ってC++プログラムを構築しています。このboostヘッダファイルが含まれていない理由
#include "boost/filesystem.hpp"
または
#include <boost/filesystem.hpp>
は変更されていません、私が使用して上記のどちら:
error: boost/filesystem.hpp: No such file or directory
エラーをトリガラインは以下の通りです:コンパイラは私に次のエラーを与えますエラー
私のCMakeLists.txtでは、私は次のようにブーストヘッダーを含めます:
FIND_PACKAGE(Boost)
MESSAGE("Boost information:")
MESSAGE(" Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
MESSAGE(" Boost_LIBRARIES: ${Boost_LIBRARIES}")
MESSAGE(" Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
ブーストが充填されているのdirsを含める「は/ opt /ローカル/含める/」cmakeの処理中にこのフォルダが生成している間
ブーストは、次のようなメッセージを与えるfilesystem.hppを含むフォルダブーストが含まれていますMakefileは、私だけブースト一部をコピー:
-- Boost version: 1.38.0
-- Found the following Boost libraries:
Boost information:
Boost_INCLUDE_DIRS: /opt/local/include
Boost_LIBRARIES:
Boost_LIBRARY_DIRS: /opt/local/lib
-- Configuring done
この行にエラーが含まれているVERBOSE = 1 makeを実行中:
cd /Users/janusz/Documents/workspace/ImageMarker/Debug/src && /usr/bin/c++ -O3 -Wall -Wno-deprecated -g -verbose -I/Users/janusz/Documents/workspace/ImageMarker/src/. -o CMakeFiles/ImageMarker.dir/FaceRecognizer.cpp.o -c /Users/janusz/Documents/workspace/ImageMarker/src/FaceRecognizer.cpp /Users/janusz/Documents/workspace/ImageMarker/src/FaceRecognizer.cpp:8:32: error: boost/filesystem.hpp: No such file or directory make[2]: *** [src/CMakeFiles/ImageMarker.dir/FaceRecognizer.cpp.o] Error 1
コンパイラが/ opt/local/includeディレクトリを選択しない理由を理解できますか?あなたはより多くの情報が必要な場合
私は
FIND_PACKAGE(Boost REQUIRED)
ではなく
FIND_PACKAGE(Boost)
使用この方法ではcmakeのは、あなたに素敵なエラーメッセージを与えるすべての
"ls /opt/local/include/boost/filesystem.hpp"とはどういう意味ですか? –
include_directories($ {Boost_INCLUDE_DIRS})がadd_executableまたはadd_libraryステートメントに達する前にリストされていることを確認してください。 –
ありがとう...コンパイル時にブーストエラーが出るのを助けるようです。インクルードの前に実行可能な文でサブディレクトリを追加しました。その時点でcmakeはそのサブディレクトリ内のすべてを適用します。あなたは答えでこれを入れた場合、その解決、少なくともこの問題 – Janusz