C++でwindowsのDLLとunixの共有ライブラリでクラスを定義するまとめ


windows

class __declspec( dllexport ) ClassName:public BaseClass
{};
見たいな感じでおk。あとはVCさんあたりが吐く.libをリンクすればいいさ。
それが無難

unix

調べ中。
ただ、OGREのソースを見る限り、何もやる必要はないようだ。
また、公開のクラスに
__attribute__ ((visibility("default")))
非公開のクラスに
__attribute__ ((visibility("hidden")))
をつけるとsoを小さくできるらしい
最終更新:2008年04月06日 00:32