1

これについて何時間も掘り下げた後、ついに専門家の助けが必要になりました。私は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:行を削除すると、これはコンパイルされ、正常に実行されます

4

0 に答える 0