cuemol2/Build_iOSCueMol: Molecular Visualization Framework |
iOSでのbuild方法CueMol2 iOS版はdesktop版と異なりすべての機能が実装されていないため,以下のライブラリのみ必要。
boostのbuildiostreamはbuildしない。(自分でGZipStreamとか持っているので不要になった) cmakeでやってみる方法2011/11/27の時点で1.41が最新。(なぜか更新されていない)
sharedライブラリはビルドエラーになる。"*.static"のプロジェクトのみビルド可能 Bjam+scriptで行う方法http://gitorious.org/boostoniphone/boostoniphone 1.44.0にのみ対応。一応こっちを使ってやってみる。 boost.shを編集して必要なものだけbuildするようにする。 date_time thread system filesystem あと、default visibilityがhiddenになっていると他とlinkしたときに警告が出まくるので、defaultにする。 -fvisibility=hidden -fvisibility-inlines-hidden を -fvisibility=default に書き換えたり戻したりいろいろいじくっているうちに警告は出なくなった。(なんで1回で行かなかったかは謎) boost.frameworkというのができる。(lipoでちゃんとuniversal binになっているっぽい) Makefileからの利用のため、~/iosproj/boost-$(arch)/以下にinclude, libのsymlinkを張る。 本体のbuildqlib, qsysなどcuemolのcoreはmakefileでbuildする。$(top)/iosbuild以下でrun_config_ios.shというスクリプトがあるので,(適宜内容を変更後)スクリプトを走らせてconfigure後,make installを実行する. iOSではstatic libraryしか使用できない。 →すべて.aにして、xcodeでbuildするときにリンク。(boostもこのときlinkすればよい) アプリ自体アプリ自体はxcodeでbuildする。(というかそうせざるを得ない) $(top)/iosbuildというdirectoryにxcodeprojファイルがあるのでそれを開いてbuildすればOK. ただし,サンプルのqslファイルとpdbファイルはsvn repositoryに入っていないので, 適当なqslやpdbファイルをコピーしてきてからbuildする. 以上でエミュで動かせるようになる. こうするとすべてObjC++でcompile使用としてしまうため、ObjC++にするものだけ別libraryにしておいて、あとでlinkするようにしなければならない。 |