2010-08-05 18 views
9

Necesito llamar a las DLL de omniORB desde un proceso de 64 bits y, a medida que lo obtengo, tengo que compilar esas DLL como de 64 bits.¿Cómo puedo compilar omniORB para Windows de 64 bits?

omniORB parece soporte de 64 bits en general, pero no hay archivos de configuración incluido para el proceso de maquillaje (* .mk) ... así que supongo que tengo que crear uno propio ...

¿Alguien lo ha intentado ya? Y: ¿Es tan "fácil" ejecutar el ORB en el modo de 64 bits (se supone que hay una forma de crear estos archivos DLL) o hay otras trampas en las que no pienso ahora? :)

Gracias de antemano!

+0

Probablemente obtendrá una respuesta más rápida en la lista de correo de los usuarios de omniORB. –

+0

Creo que solo tiene que cambiar la ruta del compilador (si está utilizando una diferente en esa plataforma) y los parámetros (agregue -m64 para 64 bit). ¿Cuál es la plataforma? Linux x86_64? ¿O Solaris SPARC 64? –

Respuesta

4

Recientemente compilé omniORB 4.1.2 para MSVC 2010 x64. Seguí instructions from omniORB con pequeñas modificaciones:

  1. Descargar omniORB-4.1.2.tar.gz (sólo las fuentes, y sin omnipython y bibliotecas precompilados) a un directorio y extraerlo.

  2. Instalar Python para x64 (por ejemplo, c: \ python27). Agregue c: \ python27 a la variable de entorno PATH. Tenga en cuenta que omnipython no funciona, ya que está compilado en modo de 32 bits.

  3. Instalar cygwin (por ejemplo, c: \ cygwin). Agregue c: \ cygwin \ bin a la variable de entorno PATH.

  4. En omniORB \ mk \ plataformas crean x86_win64_vs_10.mk (simplemente copiar el contenido de x86_win32_vs_9.mk), a continuación, modifique el contenido un poco:

    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. En omniORB \ config \ config.mk añadir línea platform = x86_win64_vs_10 y comentar todas las otras plataformas

  6. abierto "Visual Studio 64 Win64 Símbolo del sistema", cd para omniORB \ src, hacer make export

Espero que esta información ayude

Cuestiones relacionadas