[openrtm-users 00661] Re: dll用VC++プロジェクト生成について

Ando Noriaki n-ando @ aist.go.jp
2008年 11月 25日 (火) 18:35:54 JST


俵様

安藤です

> 丁寧な回答ありがとうございます。
>
> さらに質問ですが、今後Windows環境でrtc-templateが自動的に
> 初期化関数をDLL_EXPORTで修飾する予定はありますか?
> あらかじめrtc-templateで修飾しても支障がないように
> 思えますがどうでしょうか?

次のバージョンではそのようにしたいと思います。
とりあえず初期化関数にDLL_EXPORTを付加するようリポジトリに変更を加えました。
添付のcxx_gen.pyをインストールされているものと入れ替えてお使いください。

> 以上です。
> よろしくお願いします。
>
> Ando Noriaki wrote 2008/11/17 15:49:
>> 俵様
>>
>> 産総研 安藤です
>>
>> お世話になっております。
>>
>>> 産総研 知能システム研究部門 ヒューマノイド研究グループ
>>> にてお世話になっております俵です。
>>>
>>> Windows版のOpenRTM-aist-0.4.2-RELEASEのrtc-templateで
>>> dll用のVC++プロジェクトを生成する方法についてご教授願います。
>>>
>>> 具体例として
>>> http://www.openrtp.jp/openhrp3/jp/controller_pd.html
>>> にある「プログラミング 」「SamplePD.h 」の項目のような初期化関数
>>> SamplePDInit
>>> をエクスポートしたdllプロジェクトを作成したいのですが、現状rtc-template
>>> を用いてそのようなプロジェクトは自動生成可能でしょうか。
>>> 以上です。
>>> よろしくお願いします。
>>
>> rtc-templateは0.4.2から実行ファイル用vcprojとDLL用vcproj、
>> それからそれらを統合するslnを生成します。
>>
>> コンポーネント名 Sample としてrtc-templateでコードを生成すると、
>> Sample_vc[8|9].sln: ソリューションファイル
>> Sample_vc[8|9].vcproj: DLL用プロジェクトファイル
>> SampleComp_vc[8|9].vcproj: EXE用プロジェクトファイル
>> というファイルが生成されますので、slnをダブルクリックしてソリューション
>> を開いてください。DLLを作成する場合はSampleというプロジェクトをビルドしてください。
>>
>> ただし、生成されるコードにはWindows用のコードとして一つまずい点があって、
>> DLLの初期化関数のexportがされていません。
>>
>> Sample.h 内の
>> extern "C"
>> {
>>   void SampleInit(RTC::Manager* manager);
>> };
>>>> extern "C"
>> {
>>   DLL_EXPORT void SampleInit(RTC::Manager* manager);
>> };
>>
>> に書き換えてからコンパイルするようお願いします。
>> DLL_EXPORTはRTC.hかどこかで定義されているマクロで、
>> Linuxでコンパイルしても副作用は出ないようになっています。
>>
>
>
> --
> _/_/_/_/_/_/_/_/_/_/_/_/_/
> 株式会社 スプリング(http://www.spring.cc/)
> つくば事業所
> 俵 崇文
> 俵 崇文@スプリング<tawara @ spring-inc.co.jp>
> 俵 崇文@AIST<tawara-takafumi @ aist.go.jp>
> TEL:029-861-9960
> FAX:029-861-9961
> _/_/_/_/_/_/_/_/_/_/_/_/_/
>



-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
                   知能システム研究部門 タスクインテリジェンス研究グループ
                   〒305-8568 茨城県つくば市梅園1-1-1 中央第2
                   TEL: 029-861-5981 FAX: 029-862-6631
                   n-ando @ aist.go.jp, n-ando @ ieee.org
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: cxx_gen.py
URL:  <http://www.openrtm.org/pipermail/openrtm-users/attachments/20081125/aac9d18e/attachment-0001.ksh>


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