[openrtm-users 02517] windows 64bit でコンパイル

Shunji Satoh shun @ is.uec.ac.jp
2012年 3月 29日 (木) 18:46:42 JST


みなさま

電気通信大学大学院 佐藤 と申します.お世話になっております.

Windows 環境で,64bit用 dll を呼び出すコンポーネントを作成したいと思って
おります.当方でいろいろ格闘してみましたがどうにもうまくいかないので,対
処方法をご教示いただければと願っております.

----
最終的にやりたいこと:
・64bit用の libhoge.dll があり,これが提供している関数をコンポーネントか
ら呼び出したい.
----

やったことの概要:
1.まずは opencv の例題 http://www.openrtm.org/openrtm/ja/node/4625
を,64bit コンパイラー(Visual Studio 2010 Express + Microsoft Windows
SDK 7.1)でビルドできるかどうかを確認するために,
2.cmake の「Generate」の際に「Visual Studio 10 Win64」を選択した.
3.ビルドすると以下のエラーメッセージが出た.
------ ビルド開始: プロジェクト: Flip, 構成: Debug x64 ------
omniORB415_rtd.lib(omniORB415_vc10_rtd.dll) : fatal error LNK1112:
module machine type 'X86' conflicts with target machine type 'x64'
------ ビルド開始: プロジェクト: FlipComp, 構成: Debug x64 ------
omniORB415_rtd.lib(omniORB415_vc10_rtd.dll) : fatal error LNK1112:
module machine type 'X86' conflicts with target machine type 'x64'

環境:
・http://www.openrtm.org/openrtm/ja/node/4625 の「動作環境・開発環
境」+Microsoft Windows SDK 7.1
・OS:Windows 7 Professional (64bit)
・サンプルコンポーネントは期待通り動作.

試したことなど:
1.omniORB の64bit バージョンをインストールすればよいのだろうと思い,
2.http://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.1.5/
を眺めてみるも,64bit 対応は omniORB-4.1.5-win64-vc9.zip だけで途方に暮
れる(omniORB-4.1.5-win64-vc10.zip がない)
3.ダメもとで,展開した zip の中身を <OpenRTM-root>\1.1\omniORB\4.1.5
にコピーしてみるが,やはりダメ.
4.そもそも omniORB だけ 64bit化しても意味がないことに気づく.
5.現在皆様に相談中.


以上よろしくお願いします.



openrtm-users メーリングリストの案内