[openrtm-beginners:00478] Re: (無題)
Yuki Suga
ysuga @ ysuga.net
2013年 8月 22日 (木) 18:21:47 JST
杉浦様:
菅です.
libファイルがあるのであれば,cmakeを使った方がシンプルでポータブルなパッケージになるので,
どちらかというとcmakeを使う方をお勧めしますが・・・
たとえば,あるライブラリが
%PATH_OF_LIB%\lib\mylib.libと
%PATH_OF_LIB%\lib\yourlib.lib
なら,トップレベルのCMakeで
set(MYLIB_LIBDIR "$ENV{PATH_OF_LIB}/lib")
として,MYLIB_LIBDIRを定義して,
さらにライブラリごとの名前を定義
set(MYLIB_LIBRARIES mylib yourlib)
これでMYLIB_LIBRARIESが "mylib yourlib"になります.
んで,srcの中のCMakeLists.txtで,
link_directories(${MYLIB_LIBDIR})
としてライブラリのディレクトリを追加して,
target_link_libraries(${PROJECT_NAME_LOWER} ${OPENRTM_LIBRARIES})
とある行の最後にさっきのライブラリ名を追加します.
target_link_libraries(${PROJECT_NAME_LOWER} ${OPENRTM_LIBRARIES}
${MYLIB_LIBRARIES})
慣れるとこっちの方が良いですよ.
2013年8月22日 17:31 <n.sugiura.tr @ gmail.com>:
> 菅様 さっそくのご返事ありがとうございます。
> いろいろ調べてみましたが、CMake自体は相対パスで出力してくれるようです。
> CMakeのGUIで、Advancedにチェックを入れて、CMAKE_USE_RELATIVE_PATHSにチェックを入れると
> 大部分(*.cppや*.h)は相対パスでプロジェクトを生成してくれました。
> ただ、あと一歩のところでうまく行かなかったです。
> CMakeの仕様なのか設定の問題なのか、よくわかりませんが残念です。
> 一方で、CMakeを使わず、自分でlibファイルをリンクする方法があることをみつけましたので、
> それでトライしてみます。
>
> _______________________________________________
> openrtm-beginners mailing list
> openrtm-beginners @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-beginners
--
///////////////////////////////////////////////////////////////////
// Yuki Suga, Ph.D.
// URL: http://www.ysuga.net/?lang=en
// E-mail: ysuga @ ysuga.net
///////////////////////////////////////////////////////////////////
More information about the openrtm-beginners
mailing list