qmake ってなぁ〜にぃ???
突如
研究がらみのことでレーザーレンジファイダを使う必要性がorz
(僕は研究ではなくシステム開発の担当ですがw)
つかってるのが
北陽電機のスキャナ式レンジセンサ(測域センサ)[URG-04LX-UG01]
http://www.hokuyo-aut.co.jp/02sensor/07scanner/urg_04lx_ug01.html
開発用のライブラリとかサンプルが
たくさん公開されているので,意外と情報には事足りないと思ってたんですが...
そのライブラリを
Macでインストールする時にハマってしまった.
周辺の環境を示しておくと...
Finkで,Boost1.41 と SDL1.2.14 がインストールした.
あと,SDL本家から一応 Xcode で使うためのFrameworkも落とした.
そんで
urg-0.8.6というライブラリを使ってみようと試みました.
./configure make sudo make install
の3コンボで終了するつもりが...
makeできないorz
まず引っかかったのが
extern int snprintf(...)
この宣言が問題になっていたみたい.
→→→ コメントアウトで回避しましたw
これで順調にコンパイル終了かと思ってたら
今度はsymbol not found と怒られてしまった(> <)
見た目に
Cocoaフレームワークのライブライリをうまくリンクできてないとわかったので
./configure CFLAGS="-framework Cocoa"
で回避!!
あとは通常通り make & make install でインストール完了...
のつもりが!?
boost 系の機能を使ったAPIが全滅orz
どうも./configureの時点でうまく boost を発見してくれてないようでした.
しゃーないので
./configure --help
を参照して,手動でライブラリを指定する方法で
なんとか boost 系の機能を使ったAPIもおkな感じになりました〜♪
そんで
サンプルアプリケーションをqmakeをつかって
Xcodeプロジェクトへ吐き出してもらおうと思ったんですが...
qmake -spec macx-xcode
なぜか
Xcodeで設定したユーザライブラリの設定が反映されない...
/sw/include/boost/ を設定して
boost library のヘッダを読めるようにしているのに...
コンパイルエラーのログを確認すると
/usr/include は読みにいってるのに/sw/include/boost は無視.
しょうがないから
cd /usr/include/ sudo ln -s /sw/include/boost .
してやって無理矢理 /sw/include/boost を見るようにしました.
これで
XcodeからQtのプログラムをコンパイルして
サクサクとサンプルアプリケーションが動くようになったので
機器のチェックetcは完了したのですが...
なんか,気持ち悪い(><)
うーん...qmakeとかつかったことないから仕組みがわからんです.
そもそもMakefileですら
簡単なものしか書いたことがないので,
qmakeのファイルなんて自分で修正できませ〜ん.
にしても,自分の勉強不足を痛感した日になってしまいました.
もっと精進しないと!!