OmniORB编译错误Windows 7 64位

时间:2014-04-25 06:51:37

标签: windows-7-x64 omniorb

在为windows编译omniORB_4.1.6 64位时,是否有人遇到过以下错误? 'RegQueryValueEx失败 - 错误109'

我按照readme.win32中的步骤操作,我在omniDyamic,codesets等中得到链接错误。所以有人建议重建omniorb_root / src / tools / win32并将其复制到bin / x86_win32 /中。这就是我所做的,当我重新编译整个omniORB时,错误如下:

../../../../bin/x86_win32/omkdepend -D__cplusplus -D_MSC_VER -DIDLMODULE_VERSION
="0x2630" -DMSDOS -DOMNIIDL_EXECUTABLE -Ic:/python27/include -Ic:/python27/PC -I
c:/python27/include/python2.7 -DPYTHON_INCLUDE=<Python.h> -I. -I. -I../../../../
include -D__WIN32__ -D_WIN32_WINNT=0x0501 -D__x86__ -D__NT__ -D__OSVERSION__=4 -
D_CRT_SECURE_NO_DEPRECATE=1 idlc.cc idlpython.cc idlfixed.cc idlconfig.cc idldum
p.cc idlvalidate.cc idlast.cc idlexpr.cc idlscope.cc idlrepoId.cc idltype.cc idl
util.cc idlerr.cc lex.yy.cc y.tab.cc
RegQueryValueEx failed - error 109
-----------------------------------------------------------------------------------------------
make[4]: Entering directory `/cygdrive/c/Software/COTS/omniORB/omniORB_4.1.6/src
/tool/omniidl/cxx/cccp'
../../../../../bin/x86_win32/clwrapper -gnuwin32 -c -O2 -MD -GS -GR -Zi -nologo
-DHAVE_CONFIG_H -I. -I. -I. -I../../../../../include -D__WIN32__ -D_WIN32_WINNT=
0x0501 -D__x86__ -D__NT__ -D__OSVERSION__=4 -D_CRT_SECURE_NO_DEPRECATE=1 -Focexp
.o cexp.c
RegQueryValueEx failed - error 109

2 个答案:

答案 0 :(得分:0)

我要回答我自己的问题,因为似乎没有人遇到过这个问题,邮件列表也很安静。

有人建议我重新编译src \ tools \ win32。这就是我所做的,我将生成的.exe文件复制到bin \ x86_win32。 然后我编译了所有omniORB并得到RegQueryValueEx错误。

原因是当您检查void GetMounts(void)函数中的src \ tools \ win32 \ bccwrapper.c时, 它在注册表中查找此路径: Software \ Cygnus Solutions \ CYGWIN.DLL setup \ b15.0 \ mounts \%02X。

当我使用regedit检查时,我注意到在坐骑 - > 00,01,02,03等按键中,没有&#39; unix&#39;和&#39; native&#39;这些键内的字符串值。 所以我决定删除所有的密钥,只保留00并添加一个&#39; unix&#39;和&#39; native&#39;字符串值。 之后,我重新编译了src \ tools \ win32并将创建的.exe文件复制到bin \ x86_win32,最后当我重新编译所有的omniOrb时,它开始编译(需要复制ssl库)并成功完成。

我真的不知道以下内容如何进入我的注册表: Software \ Cygnus Solutions \ CYGWIN.DLL setup \ b15.0 \ mounts \%02X。

祝你好运, 标记

答案 1 :(得分:0)

我花了很多时间尝试使用Visual Studio 2017在Windows 10上编译OmniORB。

假定Cygwin64已安装在目录中

  

c:\ software \ cygwin64

,OmniORB的编译非常简单:

  • 打开命令终端( cmd
  • 在该终端中,设置视觉环境:
  

“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ VC \ Auxiliary \ Build \ vcvarsall.bat” x64

  • 然后,追加 PATH(是追加而不是前置):
  

设置PATH =%PATH%; c:\ software \ cygwin64 \ bin

  • 然后在config \ config.mk文件中取消注释此行
  

平台= x86_win32_vs_15

  • 在文件platform \ x86_win32_vs_15中,将PYTHON设置为以python可执行文件为目标,在我的情况下为Python 3.6.5
  

PYTHON = / cygdrive / c / software / Python / python

  • 最后使用make开始编译:
  

进行导出

希望这会有所帮助。