11

omn​​iORB の DLL を 64 ビット プロセスから呼び出す必要があり、取得した DLL を 64 ビットとしてコンパイルする必要があります。

omn​​iORB は一般的に 64 ビットをサポートしているようですが、make プロセス (*.mk) 用の構成ファイルが含まれていないので、自分で作成する必要があると思います...

誰かがすでにそれを試しましたか?そして: ORB を 64 ビット モードで実行するのはそれほど「簡単」ですか (これらの DLL を作成する方法があると仮定します)、それとも、私が今考えていない他のトラップはありますか? :)

前もって感謝します!

4

2 に答える 2

6

最近、MSVC2010x64用にomniORB4.1.2をコンパイルしました。小さな変更を加えて、omniORBの指示に従いました。

  1. omn​​iORB-4.1.2.tar.gz(ソースのみ、omnipythonとプリコンパイル済みライブラリなし)をディレクトリにダウンロードして解凍します。

  2. Python for x64をインストールします(例:c:\ python27)。c:\python27をPATH環境変数に追加します。omn​​ipythonは32ビットモードでコンパイルされているため、機能しないことに注意してください。

  3. cygwinをインストールします(例:c:\ cygwin)。c:\ cygwin\binをPATH環境変数に追加します。

  4. omn​​iORB \ mk \ platformでx86_win64_vs_10.mkを作成し(x86_win32_vs_9.mkのコンテンツをコピーするだけ)、コンテンツを少し変更します。

    PYTHON = /cygdrive/c/Python27/python
    
    # Use the following set of flags to build and use multithreaded DLLs
    #
    MSVC_DLL_CXXNODEBUGFLAGS       = -MD -EHs -GS -GR -Zi -nologo
    MSVC_DLL_CXXLINKNODEBUGOPTIONS = -nologo -manifest -DEBUG -MACHINE:X64
    MSVC_DLL_CNODEBUGFLAGS         = -MD -GS -GR -Zi -nologo
    MSVC_DLL_CLINKNODEBUGOPTIONS   = -nologo -manifest -DEBUG -MACHINE:X64
    #
    MSVC_DLL_CXXDEBUGFLAGS         = -MDd -EHs -RTC1 -GS -GR -Zi -nologo
    MSVC_DLL_CXXLINKDEBUGOPTIONS   = -nologo -manifest -DEBUG -MACHINE:X64
    MSVC_DLL_CDEBUGFLAGS           = -MDd -RTC1 -GS -GR -Zd -Zi -nologo
    MSVC_DLL_CLINKDEBUGOPTIONS     = -nologo -manifest -DEBUG -MACHINE:X64
    #
    # Or
    #
    # Use the following set of flags to build and use multithread static libraries
    #
    MSVC_STATICLIB_CXXNODEBUGFLAGS       = -MD -EHs -GS -GR -Zi -nologo
    MSVC_STATICLIB_CXXLINKNODEBUGOPTIONS = -nologo -manifest -DEBUG -MACHINE:X64
    MSVC_STATICLIB_CNODEBUGFLAGS         = -MD -GS -GR -Zi -nologo
    MSVC_STATICLIB_CLINKNODEBUGOPTIONS   = -nologo -manifest -DEBUG -MACHINE:X64
    
    MSVC_STATICLIB_CXXDEBUGFLAGS         = -MDd -EHs -RTC1 -GS -GR -Zi -nologo
    MSVC_STATICLIB_CXXLINKDEBUGOPTIONS   = -nologo -manifest -DEBUG -MACHINE:X64
    MSVC_STATICLIB_CDEBUGFLAGS           = -MDd -RTC1 -GS -GR -Zi -nologo
    MSVC_STATICLIB_CLINKDEBUGOPTIONS     = -nologo -manifest -DEBUG -MACHINE:X64
    
  5. omn​​iORB \ config \ config.mkに行を追加platform = x86_win64_vs_10し、他のすべてのプラットフォームをコメントアウトします

  6. 「VisualStudiox64Win64コマンドプロンプト」を開き、omniORB\srcにcdして実行します。make export

この情報がお役に立てば幸いです

于 2012-10-10T14:52:48.357 に答える
1

2018 年 1 月 30 日、omniORB のメンテナーである Duncan Grisby は、omniORB ユーザー メーリング リストの投稿「Windows 64 ビット ビルドのトラブル」に次のように返信しました。

Stackoverflow でランダムな古代の回答に従わないでください。

64 ビットの omniORB を構築する場合は、64 ビットの Python が必要です。README.win32.txt を読んでください。それが言うことを正確に実行してください。それが私がしていることであり、完璧に機能します。

リンク: omni-ORB メーリング リストへの投稿

omn​​iORB 4.1.7 README.win32.txt line#50には、次のガイダンスがあります。環境を構築します。」

「ソースファイルからの omniORB の構築」というタイトルのセクションがあります。

于 2020-05-04T16:02:22.380 に答える