我正在尝试在运行Windows 10 pro 64位的虚拟机上测试OmbiORB V4.2.3。我已经安装了所有必要的软件(python 3.6.5,cygwin,VS 2017(。
配置
我已经取消了 config.mkplatform = x86_win32_vs_15
中的以下行。将以下行添加到 mk\platforms\[platform].mkPYTHON = /cygdrive/c/Software/Python/Python36
。
安慰
使用"C:Program Files (x86)Microsoft Visual Studio2017CommunityVCAuxiliaryBuildvcvarsall.bat" x64
启动命令 promt 并移动到 src 目录。将Cygwin和Python都添加到PATH中,set path=%path%;c:Softwarecygwin64bin;c:SoftwarePython
。当我这样做时make export
我看到两件事可能是问题所在。
C:Users[user]DocumentsomniORB-4.2.3src>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]DocumentsomniORB-4.2.3binx86_win32omkdepend.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
有谁知道如何解决我面临的这个问题?
我假设
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 的东西区分大小写。