忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[477]  [476]  [475]  [474]  [473]  [472]  [471]  [470]  [469]  [468]  [467
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

find_packageでどこを検索するのかについて述べておきたいと思います。
まあ詳しい事は他のサイトに載っていると思うので、一部だけですけど。

まず、生成したRTCのテンプレートのフォルダの直下にあるCMakeLists.txtの、

find_package(OpenRTM REQUIRED)

はどこからOpenRTM-aistのパッケージを見つけているかと言うと、
  1. 環境変数PATHからC:\Program Files\OpenRTM-aist\1.1\binを見つける
  2. binディレクトリなのでC:\Program Files\OpenRTM-aist\1.1に変換
  3. C:\Program Files\OpenRTM-aist\1.1にcmakeディレクトリがあるので、そこからOpenRTMConfig.cmakeを検索
という流れだとは思います。
PATHからC:\Program Files\OpenRTM-aist\1.1\binを消したらCMakeに失敗したのでおそらく合っていると思います。
まあ他の人のPCで環境変数がどうなっているかなんて知らないので、違う所から検索される事もあると思います。



次にOpenCVを使うときは、


find_package(OpenCV REQUIRED)


と記述すると思いますが、環境変数にパッケージ名_DIRがあればそこから検索する事ができるので、OpenCV_DIRから検索していると思います。
ただ、binフォルダにパスを通していたりすると優先順位がどうなるのかは分かりません。


最後にQtを使う場合を考えてみたいと思います。
方法としては、
  1. C:\Qt\Qt5.3.2\5.3\msvc2010_opengl\binにパスを通す
  2. Qt5Widgets_DIR等の環境変数を設定する
  3. CMAKE_PREFIX_PATH等の環境変数にC:\Qt\Qt5.3.2\5.3\msvc2010_opengl\lib\cmakeを追加する
さすがに2は面倒なのでやめておきましょう。
Qt4なら2でも良いかもしれないですけど。

シグナル、スロットを使う場合はmocファイルを生成する必要があります。
どうやら、set(CMAKE_AUTOMOC ON)と記述しておけば勝手にやってくれるみたいです。
Qtに関してはqmakeを使うよりもCMakeを使ってプロジェクトを作成した方が簡単かもしれないですね。



では自分でFind~.cmakeや~Config.cmakeを作成するにはどうすれば良いのか?
それは僕が教えてほしいです。いやだって意外に情報少なくないですか?
Linuxユーザー特有の「知りたい事は自分で調べろ」という風潮は嫌いです。


CMakeもなあ、せめてVC++やCodeBlocksのプロジェクトから逆にCMakeLists.txtが生成出来れば楽なんですけどね。ひょっとして出来るのでしょうかね?
そもそもCMakeに対応しているライブラリなんて一部だろうし、やっぱり何だか使いづらい。











にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
36
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]