これについて何時間も掘り下げた後、ついに専門家の助けが必要になりました。私はcmakeが初めてで、Visual Studio 2008プロジェクトをcmakeに移植しようとしています。私のプロジェクトでは、opencv、qt、および boost ライブラリを使用しています。これで、opencv と qt を使用して簡単な cmake の例を実行できましたが、boost で立ち往生しています。
ボトルネックはこれです.CMakeは正しいブーストバージョンを見つけ、ライブラリを見つけ、構成中にエラーを出しません. しかし、make を使用してプロジェクトをビルドしようとすると、次のようになります。
「致命的なエラー: boost/smart_ptr.hpp: そのようなファイルまたはディレクトリはありません」
構成が正しく行われていると仮定すると、cmake はブースト インクルード ディレクトリを見つけることができるはずです。正しいブースト ルート ディレクトリに設定BOOST_ROOT
したので、構成でエラーが発生しません。しかし、make の実行中に何が起こるのでしょうか? ここで簡単なものが欠けていますか?必死に助けが必要です...これがばかげた質問であれば申し訳ありません。
ここに私の CMakeLists.txt ファイルがあります:
cmake_minimum_required( VERSION 2.6 )
project (CMakeBoostTutorial)
find_package( Boost 1.46.1 COMPONENTS date_time REQUIRED)
link_directories ( ${Boost_LIBRARY_DIRS} )
include_directories ( ${Boost_INCLUDE_DIRS} )
add_executable ( helloworld helloworld.cc )
target_link_libraries (
helloworld
${Boost_LIBRARIES}
)
そして、これが私の helloworld.cc です:
#include <iostream>
#include <stdlib.h>
#include <boost/smart_ptr.hpp>
using namespace std;<br/>
int main(int argc, char *argv[]){
cout<<"Hello World";
return 0;
}
#include <boost/smart_ptr.hpp>
PS:行を削除すると、これはコンパイルされ、正常に実行されます