1

我正在尝试在运行 Windows 10 pro 64bit 的虚拟机上测试 OmbiORB V4.2.3。我已经安装了所有必要的软件(python 3.6.5、cygwin、VS 2017)。

配置

我在 config.mk 中取消了以下行的注释platform = x86_win32_vs_15。将以下行添加到 mk\platforms\[platform].mk PYTHON = /cygdrive/c/Software/Python/Python36

安慰

启动命令 promt"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64并移至 src 目录。使用 .将 Cygwin 和 Python 添加到 PATH 中set path=%path%;c:\Software\cygwin64\bin;c:\Software\Python。当我这样做时,make export我看到两件事可能是问题所在。

C:\Users\[user]\Documents\omniORB-4.2.3\src>make export
making export in src/tool...
make[1]: Entering directory '/cygdrive/c/Users/[user]/Documents/omniORB-4.2.3/src/tool'
making export in src/tool/omniidl...
make[2]: Entering directory '/cygdrive/c/Users/[user]/Documents/omniORB-4.2.3/src/tool/omniidl'
make[2]: /cygdrive/c/Software/Python/Python36: Command not found
making export in src/tool/omniidl/cxx...
make[3]: Entering directory '/cygdrive/c/Users/[user]/Documents/omniORB-4.2.3/src/tool/omniidl/cxx'
make[3]: /cygdrive/c/Software/Python/Python36: Command not found
make[3]: /cygdrive/c/Software/Python/Python36: Command not found
make[3]: /cygdrive/c/Software/Python/Python36: Command not found
make[3]: /cygdrive/c/Software/Python/Python36: Command not found
../../../../bin/x86_win32/omkdepend -D__cplusplus -D_MSC_VER -I -DPYTHON_INCLUDE=<Python.h> -DPYTHON_THREAD_INC=<pythread.h> -DIDLMODULE_VERSION="0x2630" -DMSDOS -DOMNIIDL_EXECUTABLE -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 idldump.cc idlvalidate.cc idlast.cc idlexpr.cc idlscope.cc idlrepoId.cc idltype.cc idlutil.cc idlerr.cc lex.yy.cc y.tab.cc
C:\Users\[user]\Documents\omniORB-4.2.3\bin\x86_win32\omkdepend.exe: warning:  idlpython.cc, line 57: incomplete include == "#  include PYTHON_INCLUDE"

idlpython.cc(31): error C2006: '#include': expected a filename, found 'identifier'
idlpython.cc(31): fatal error C1083: Cannot open include file: '': No such file or directory
make[3]: *** [../../../../mk/win32.mk:490: idlpython.o] Error 2
make[3]: Leaving directory '/cygdrive/c/Users/[user]/Documents/omniORB-4.2.3/src/tool/omniidl/cxx'
make[2]: *** [dir.mk:16: export] Error 2
make[2]: Leaving directory '/cygdrive/c/Users/[user]/Documents/omniORB-4.2.3/src/tool/omniidl'
make[1]: *** [dir.mk:22: export] Error 2
make[1]: Leaving directory '/cygdrive/c/Users/[user]/Documents/omniORB-4.2.3/src/tool'
make: *** [dir.mk:26: export] Error 2

有谁知道如何解决我面临的这个问题?

4

1 回答 1

0

我假设

PYTHON = /cygdrive/c/Software/Python/Python36

成为这里的问题:

...
make[2]: /cygdrive/c/Software/Python/Python36: Command not found
...

这一行应该指定 python 可执行文件,并且至少在我的 Python 2.7 设置中,exe 只是在python.exe没有任何版本后缀的情况下被调用。

所以,这条线可能真的应该是

PYTHON = /cygdrive/c/Software/Python/python
** or maybe
PYTHON = /cygdrive/c/Software/Python/Python36/python

另请注意,我在构建脚本上的注释说 cygwin 的东西是区分大小写的。

于 2020-05-22T09:46:47.183 回答