Hi
I try to start again with my project that uses wxWidgets. Before going into any porting stuff to the current release, I am trying to test
my source installer based build script that had worked and tested at the time I stopped development.
If I could go to the current version with out unicode support and a 'compatible' setting, I'll try that. But for now, I ask if the error is
known...
I stick to MinGW 4.7.* like the following:
@Rem Get an explicite version that always ensures to build the code
set MINGW_STICKON_VERSION=4.7.*
set MINGW_STICKON_WIN32_VERSION=4.0.3-*
I patch a header to represent my settings as have been tested:
copy /Y %DEVLW%\lbDMF\w32api-Wcpp-patch.h Develop\Tools\MinGW\include\w32api.h
/**
#define __W32API_VERSION 3.17
#define __W32API_MAJOR_VERSION 3
#define __W32API_MINOR_VERSION 17
/* The following defines are for documentation purposes. The following defines
/* Use these values to set _WIN32_WINDOWS and WINVER to your minimum support
/* Use these values to set _WIN32_WINNT and WINVER to your mimimum support
/* Use these values to set _WIN32_IE to your minimum support level */
#define IE3 0x0300
#define IE301 0x0300
#define IE302 0x0300
#define IE4 0x0400
#define IE401 0x0401
#define IE5 0x0500
#define IE5a 0x0500
#define IE5b 0x0500
#define IE501 0x0501
#define IE55 0x0501
#define IE56 0x0560
#define IE6 0x0600
#define IE601 0x0601
#define IE602 0x0603
#define IE7 0x0700
#endif /* ndef _W32API_H */
My batch based process copies the setup.h from msw like:
copy /Y %WXDIR%\include\wx\msw\setup.h %WXDIR%\include\wx
And it copies a prepared file:
copy /Y %DEVLW%\lbDMF\wxWidgets-config.gcc %WXDIR%\build\msw\config.gcc
Which has the following setings:
`# =========================================================================
LINK_DLL_FLAGS ?= -shared
LINK_MODULE_FLAGS ?= -shared
CC = gcc
CXX = g++
CFLAGS ?=
CXXFLAGS ?=
CPPFLAGS ?=
LDFLAGS ?=
CPP ?= $(CC) -E
SHARED ?= 1
WXUNIV ?= 0
UNICODE ?= 0
MSLU ?= 0
BUILD ?= release
DEBUG_INFO ?= default
DEBUG_FLAG ?= default
MONOLITHIC ?= 0
USE_GUI ?= 1
USE_HTML ?= 1
USE_MEDIA ?= 1
USE_XRC ?= 1
USE_AUI ?= 1
USE_RICHTEXT ?= 1
USE_OPENGL ?= 0
USE_ODBC ?= 0
USE_QA ?= 0
USE_EXCEPTIONS ?= 1
USE_RTTI ?= 1
USE_THREADS ?= 1
USE_CAIRO ?= 0
USE_GDIPLUS ?= 0
OFFICIAL_BUILD ?= 0
VENDOR ?= custom
WX_FLAVOUR ?=
WX_LIB_FLAVOUR ?=
CFG ?=
CPPUNIT_CFLAGS ?=
CPPUNIT_LIBS ?=
RUNTIME_LIBS ?= dynamic
GCC_VERSION ?= 3
`
I get the following error, I cannot explain given my trial to stick to versions of a compiler and wxWidgets, proved to me working.
The following error happens (first two):
gcc -c -o gcc_mswdll\wxregex_regcomp.o -O2 -mthreads -DHAVE_W32API_H -I....\include -I....\lib\gcc_dll\msw -D__WXMSW__ -MTgcc_mswdll\wxregex_regcomp.o -MFgcc_mswdll\wxregex_regcomp.o.d -MD -MP ../../src/regex/regcomp.c
In file included from ../../src/regex/regcustom.h:32:0,
from ../../src/regex/regguts.h:38,
from ../../src/regex/regcomp.c:33:
c:\lbdmf\develop\tools\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/stdio.h:260:34: error: expected ',' or ';' before 'FILE'
In file included from ../../src/regex/regcustom.h:32:0,
from ../../src/regex/regguts.h:38,
from ../../src/regex/regcomp.c:33:
c:\lbdmf\develop\tools\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/stdio.h:1048:1: error: unknown type name '_END_C_DECLS'
Any ideas, where this could come from?
I even test this on a fresh Windows 10 installation (VM)
Thanks,
Lothar
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
I'm sorry but I'm completely lost here. This reads like a continuation of a previous discussion, except that I'm not aware of any prior discussion of this. What is this w32api-Wcpp-patch.h and where does it come from?
Anyhow, if you're you building wx 2.8.12 using gcc 4.7, I'm afraid you're mostly on your own, as this 12 year old version is not supported since a very, very long time. FWIW I'd still expect it to work and it should definitely work in the same environment where you used it originally, but that's all I can say.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Sorry for the confusion. Even I can only assume that w32api-Wcpp-patch.h stems from a Watcom build and I wonder how that even worked with MinGW.
Meanwhile I found, that MinGW sticking to 4.7 and w32 API to 4.0 messed up the installation of MinGW while trying itself downgrading. I tried to stick to a reported as available 4.8 GCC and 5.0 w32 API without luck.
Now I downloaded the current wxMSW-3.2.2.1-Setup and have NOT used any of my patches. As my development was stopped since 2016.
With the last version of wxMSW and no sticky GCC (current as of install), I can compile the code (without touching any configuration) until some OLE errors:
g++ -c -o gcc_mswud\baselib_filename.o -I....\src\zlib -I....\3rdparty\pcre\src\wx -I....\src\expat\expat\lib -g -O0 -mthreads -D__WXMSW__ -D_UNICODE -I....\lib\gcc_lib\mswud -I....\include -W -Wall -DWXBUILDING -DwxUSE_GUI=0 -DwxUSE_BASE=1 -Wno-ctor-dtor-privacy -MTgcc_mswud\baselib_filename.o -MFgcc_mswud\baselib_filename.o.d -MD -MP ../../src/common/filename.cpp
In file included from ../../src/common/filename.cpp:106:0:
....\include/wx/msw/ole/oleutils.h: In function 'bool wxOleInitialize()':
....\include/wx/msw/ole/oleutils.h:49:16: error: 'RPC_E_CHANGED_MODE' was not declared in this scope
if ( hr != RPC_E_CHANGED_MODE && FAILED(hr) )
^~~~~~~~~~~~~~~~~~
....\include/wx/msw/ole/oleutils.h:49:47: error: 'FAILED' was not declared in this scope
if ( hr != RPC_E_CHANGED_MODE && FAILED(hr) )
^
....\include/wx/msw/ole/oleutils.h: At global scope:
....\include/wx/msw/ole/oleutils.h:146:42: error: 'S_OK' was not declared in this scope
wxVariantDataErrorCode(SCODE value = S_OK) { m_value = value; }
Any ideas there?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
and no sticky GCC (current as of install),
What is this no sticky version?
Are you using MinGW or the one from MSYS?
What command you use to build wxWIdgets?
Thank you.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
3.2.2 should work with gcc 4.8 and S_OK was definitely declared in all MinGW/w32 API versions. I suspect something bad has happened to your installation, but I have no idea what, sorry. I'd start by grepping for S_OK in your MinGW headers and then trying to understand why is the right header not being included. You may also want to use -H gcc option to see the headers being included.
But this is really not a wx problem at all.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
I am using a minimal set of bootstrap binaries in my source code installer. It installs this bootstrap binaries with a batch file to be executed, if the user flags this in the setup (default):
@Rem This batch will download and install MinGW by mingw-get
Develop\Tools\MinGW\bin\mingw-get install mingw
Develop\Tools\MinGW\bin\mingw-get install g++
Develop\Tools\MinGW\bin\mingw-get upgrade "gcc=%1"
Develop\Tools\MinGW\bin\mingw-get upgrade "g++=%1"
Develop\Tools\MinGW\bin\mingw-get upgrade "mingw32-w32api=%2"
@Rem Required to compile ACE
Develop\Tools\MinGW\bin\mingw-get install msys
I could try without that automatic MinGW install step and do only a manual install by a fresh download. As I am now getting the compile process starting, trying a manual MinGW install makes sense to sort out errors. Especially the downgrade and msys stuff, that is active, even not flagged for installation.
My idea was an installable 'build from scratch system' on a fresh installed Windows. This was working at least until MinGW removed the 4.7.* and other stuff (that now tells me, iaving some tools dependencies, that I have not preserved properly)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@oneeyeman1 and this was my sticky setting to be passed to the batch file:
set MINGW_STICKON_VERSION=4.7.*
set MINGW_STICKON_WIN32_VERSION=4.0.3-*
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@lollisoft ,
It WAS,, but according to your last post it's not anymore.
Hence the question - which one you are using NOW.
Thank you.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@oneeyeman1
gcc --version
gcc (MinGW.org GCC-6.3.0-1) 6.3.0
I now have removed the downgrade part and the msys part as well. So a clean install using mingw-get install
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Closed #23413 as completed.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@vadz I know, that this is no wxWidgets issue after seeing that MinGW downgrade complained. I answered the last question of @oneeyeman1 only.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Sorry, but just to be clear: you need to find out why using S_OK after including <ole2.h>, as the wx code does, fail. This is definitely not normal and means that there is some problem with your MinGW installation. Unfortunately we can't help you further with this.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()