omniORB 4.2.3 - mingw x86 - tcpSocket.cc error - sprintf
DIETMAR MAY via omniORB-list <[email protected]> Thu, 14 Mar 2019 15:25:26 +0000
| Newsgroups | gmane.comp.corba.omniorb.user |
|---|---|
| Message-ID | <CY4PR06MB2679B01FD009716519B7965EE54B0@CY4PR06MB2679.namprd06.prod.outlook.com> |
When building omniORB 4.2.3 with cygwin's mingw compiler, I receive the error below. Looks like either it's building with wchar support, or one of the #defines is missing and I'm picking up the wrong #if code sections. omkdepend builds fine, as do a number of other components up to tcpSocket.cc Any ideas? ------- /usr/bin/i686-w64-mingw32-g++ -c -O2 -D_WINSTATIC -mthreads -I.. -I./.. -I../../../../include/omniORB4/internal -DUSE_omniORB_logStream -D_OMNIORB_LIBRARY -DOMNIORB_VERSION_STRING='"4.2.3"' -DOMNIORB_VERSION_HEX='0x040203F1' -DCONFIG_DEFAULT_LOCATION='"C:\\OMNIORB.CFG"' -DCONFIG_ENV='"OMNIORB_CONFIG"' -D"NTArchitecture" -I. -I. -I../../../../include -D__WIN32__ -D_WIN32_WINNT=0x0400 -D__x86__ -D__NT__ -D__OSVERSION__=4 -ostatic/tcpSocket.o tcpSocket.cc tcpSocket.cc: In static member function ‘static char* omni::tcpSocket::addrToString(sockaddr*)’: tcpSocket.cc:976:3: error: ‘sprintf’ was not declared in this scope sprintf(result,"%d.%d.%d.%d",ip1,ip2,ip3,ip4); ^~~~~~~ tcpSocket.cc:976:3: note: suggested alternative: ‘wsprintf’ sprintf(result,"%d.%d.%d.%d",ip1,ip2,ip3,ip4); ^~~~~~~ wsprintf tcpSocket.cc: In static member function ‘static char* omni::tcpSocket::addrToURI(sockaddr*, const char*)’: tcpSocket.cc:1065:3: error: ‘sprintf’ was not declared in this scope sprintf(result,"%s%d.%d.%d.%d:%d",prefix, ip1, ip2, ip3, ip4, port); ^~~~~~~ tcpSocket.cc:1065:3: note: suggested alternative: ‘wsprintf’ sprintf(result,"%s%d.%d.%d.%d:%d",prefix, ip1, ip2, ip3, ip4, port); ^~~~~~~ wsprintf make[3]: *** [../../../../mk/mingw.mk:290: static/tcpSocket.o] Error 1 ------- I've installed Cygwin x86, with mingw64-i686-gcc-g++ and cygwin binutils packages. I've downloaded and installed MSVC++ 2008 SP1 redistributables https://www.microsoft.com/en-US/download/details.aspx?id=5582 and copied MSVCRT90.DLL to cygwin's /usr/bin directory. I've edited <top>/config/config.mk and enabled platform = x86_win32_mingw I've installed python.org's python interpreter, and don't have cygwin's python installed: $printenv PATH /usr/local/bin:/usr/bin: ... :/C/programs/python $ which python /C/programs/python/python I've edited <top>/mk/platforms/x86_win32_mingw.mk and updated the PYTHON macro: PYTHON = /c/programs/python/python (cygwin's /etc/fstab contains "c:/ /C ntfs binary,posix=0,user 0 0") I've changed <top>/mk/mingw.mk: MINGW = /usr/bin/i686-w64-mingw32- AR = ar cq CXX = $(MINGW)g++ CXXLINK = $(MINGW)g++ CC = $(MINGW)gcc CLINK = $(MINGW)gcc _______________________________________________ omniORB-list mailing list [email protected] http://www.omniorb-support.com/mailman/listinfo/omniorb-list