我正在尝试在运行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
。
控制台
从"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
开始命令promt,并移至src目录。使用set path=%path%;c:\Software\cygwin64\bin;c:\Software\Python
将Cygwin和Python添加到PATH。当我做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
有人知道如何解决我面临的这个问题吗?
答案 0 :(得分: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的内容区分大小写。