如何为64位Windows编译omniORB?

Sup*_*isi 10 64-bit corba visual-c++

我需要从64位进程调用omniORB的DLL,因为我得到它我需要将这些DLL编译为64位.

omn​​iORB似乎一般支持64位,但make-process(*.mk)中没有包含配置文件...所以我想我必须创建一个我自己的...

还有人试过吗?并且:在64位模式下运行ORB是否"容易"(假设我有一种创建这些DLL的方法)或者是否还有其他陷阱我现在没有想到?:)

提前致谢!

nog*_*ard 5

最近我为MSVC 2010 x64编译了omniORB 4.1.2.我按照omn​​iORB的说明进行了少量修改:

  1. 将omniORB-4.1.2.tar.gz(仅限源,无omnipython和预编译库)下载到目录并解压缩.

  2. 安装Python for x64(例如c:\ python27).将c:\ python27添加到PATH环境变量.请注意,omnipython不起作用,因为它是在32位模式下编译的.

  3. 安装cygwin(例如c:\ cygwin).将c:\ cygwin\bin添加到PATH环境变量.

  4. 在omniORB\mk\platforms中创建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
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在omniORB\config\config.mk中添加行platform = x86_win64_vs_10并注释掉所有其他平台

  6. 打开"Visual Studio x64 Win64命令提示符",cd到omniORB\src,执行 make export

我希望这些信息会有所帮助