0

Windows 用に omniORB_4.1.6 64 ビットをコンパイルするときに、次のエラーに遭遇した人はいますか? 「RegQueryValueEx が失敗しました - エラー 109」

readme.win32 の手順に従いましたが、omniDyamic、コードセットなどでリンク エラーが発生しました。そのため、誰かが 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
4

2 に答える 2

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\マウント\%02X.

regeditを使用して確認したところ、mounts-> 00、01、02、03などのキーに、これらのキー内に「unix」および「native」の文字列値がないことに気付きました。そこで、すべてのキーを削除し、00 だけを残して「unix」と「native」の文字列値を追加することにしました。その後、src\tools\win32 を再コンパイルし、作成した .exe ファイルを bin\x86_win32 にコピーし、最後にすべての omniOrb を再コンパイルすると、コンパイルが開始され (ssl ライブラリもコピーする必要があります)、正常に終了しました。

どのようにして次のファイルがレジストリに登録されたのか、私にはまったくわかりません: Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\%02X.

よろしく、マーク

于 2014-05-15T10:25:53.127 に答える