Forum: PC-Programmierung OpenWatcom C/C++ und wxWidgets


von Sweety68 (Gast)


Lesenswert?

Mein Forum,

der OpenWatcom 1.9 will wxWidgets nicht kompilieren. Er ist für 
NT/9x/Win32 installiert unter wine. wxMSW 2.8 hat kompiliert. Die 3.0.4 
bricht mit dem folgendem Fehler ab. Ich hab schon -ecc und -ecw gesetzt, 
geändert hat sich nichts.

Schaut doch, ob ihr einen Tipp für mich habt, was ich tun könnte. 
Schließlich gibt es extra ein Makefile für (Open)Watcom.

Hier mein Befehl laut (INSTALL im wx-root-vz)
1
X:\>wmake -f makefile.wat
2
        wcc386 -bt=nt -zq -fo=wat_mswud\wxzlib_inffast.obj -d2 -od -bm -br -dNDE
3
BUG -6r  ..\..\src\zlib\inffast.c
4
        wcc386 -bt=nt -zq -fo=wat_mswud\wxzlib_inflate.obj -d2 -od -bm -br -dNDE
5
BUG -6r  ..\..\src\zlib\inflate.c
6
        wcc386 -bt=nt -zq -fo=wat_mswud\wxzlib_inftrees.obj -d2 -od -bm -br -dND
7
EBUG -6r  ..\..\src\zlib\inftrees.c
8
        wcc386 -bt=nt -zq -fo=wat_mswud\wxzlib_trees.obj -d2 -od -bm -br -dNDEBU
9
G -6r  ..\..\src\zlib\trees.c
10
        wcc386 -bt=nt -zq -fo=wat_mswud\wxzlib_uncompr.obj -d2 -od -bm -br -dNDE
11
BUG -6r  ..\..\src\zlib\uncompr.c
12
        wcc386 -bt=nt -zq -fo=wat_mswud\wxzlib_zutil.obj -d2 -od -bm -br -dNDEBU
13
G -6r  ..\..\src\zlib\zutil.c
14
        wlib -q -p4096 -n -b ..\..\lib\wat_lib\wxzlibd.lib @wat_mswud\wxzlib.lbc
15
16
        wcc386 -bt=nt -zq -fo=wat_mswud\wxpng_png.obj -d2 -od -bm -br -dNDEBUG -
17
i=..\..\src\zlib -wcd=124 -6r  ..\..\src\png\png.c
18
..\..\src\png\png.c(281): Error! E1010: Type mismatch
19
..\..\src\png\png.c(281): Note! N2003: source conversion type is 'void (__watcal
20
l *)(unsigned int __p1[],int __p2)'
21
..\..\src\png\png.c(281): Note! N2004: target conversion type is 'void (__cdecl
22
*)(unsigned int __p1[],int __p2)'
23
Error(E42): Last command making (wat_mswud\wxpng_png.obj) returned a bad status
24
Error(E02): Make execution terminated
Hier hab ich das -ecc und -ecw her das nichts geholfen hat.
1
X:\>wcc386.exe 
2
Open Watcom C32 Optimizing Compiler Version 1.9
3
Portions Copyright (c) 1984-2002 Sybase, Inc. All Rights Reserved.
4
Source code is available under the Sybase Open Watcom Public License.
5
See http://www.openwatcom.org/ for details.
6
Usage: wcc386 [options] file [options]
7
Options:
8
            ( /option is also accepted )
9
-3r           386 register calling conventions
10
-3s           386 stack calling conventions
11
-4r           486 register calling conventions
12
-4s           486 stack calling conventions
13
-5r           Pentium register calling conventions
14
-5s           Pentium stack calling conventions
15
-6r           Pentium Pro register calling conventions
16
-6s           Pentium Pro stack calling conventions
17
-aa           allow non const initializers for local aggregates or unions
18
-ad[=<file>]  generate make style automatic dependency file
19
-add[=<file>] specify first dependency in make style auto-depend file
20
-adt[=<file>] specify target in make style auto-depend file
21
-adhp[=<file>]specify default path for headers without one
22
-adbs         force path separators to '\' in auto-depend file
23
-adfs         force path separators to '/' in auto-depend file
24
-ai           turn off type checking on static initialization
25
(Press return to continue)
26
-aq           turn off qualifier mismatch warning for const/volatile
27
-bc           build target is a console application
28
-bd           build target is a dynamic link library (DLL)
29
-bg           build target is a GUI application
30
-bm           build target is a multi-thread environment
31
-br           build with dll run-time library
32
-bt=<id>      build target for operating system <id>
33
-bw           build target is a default windowing application
34
-d<id>[=text] precompilation #define <id> [text]
35
-d0           no debugging information
36
-d1{+}        line number debugging information
37
-d2           full symbolic debugging information
38
-d3           full symbolic debugging with unreferenced type names
39
-d+           allow extended -d macro definitions
40
-db           generate browsing information
41
-e=<num>      set limit on number of error messages
42
-ecc          set default calling convention to __cdecl
43
-ecd          set default calling convention to __stdcall
44
-ecf          set default calling convention to __fastcall
45
-ecp          set default calling convention to __pascal
46
-ecr          set default calling convention to __fortran
47
-ecs          set default calling convention to __syscall
48
(Press return to continue)
49
-ecw          set default calling convention to __watcall (default)
50
-ee           call epilogue hook routine
51
-ef           use full pathnames in error and warning messages
52
-ei           force enums to be at least as large as an int
53
-em           force enum base type to use minimum integral type
54
-en           emit routine names in the code segment
55
-ep[=<num>]   call prologue hook routine with <num> stack bytes available
56
-eq           do not display error messages (they are still written to a file)
57
-et           Pentium profiling
58
-ez           generate PharLap EZ-OMF object files
59
-fh[=<file>]  use pre-compiled headers
60
-fhq[=<file>] do not display pre-compiled header activity warnings
61
-fi=<file>    force <file> to be included
62
-fo[=<file>]  set object or preprocessor output file name
63
-fr[=<file>]  set error file name
64
-fti          print informational message when opening include file
65
-fp2          generate 287 floating-point code
66
-fp3          generate 387 floating-point code
67
-fp5          optimize floating-point for Pentium
68
-fp6          optimize floating-point for Pentium Pro
69
-fpc          calls to floating-point library
70
-fpi          inline 80x87 instructions with emulation
71
(Press return to continue)
72
-fpi87        inline 80x87 instructions
73
-fpr          generate backward compatible 80x87 code
74
-g=<id>       set code group name
75
-hc           generate Codeview debugging information
76
-hd           generate DWARF debugging information
77
-hw           generate Watcom debugging information
78
-i=<path>     add another include path
79
-j            change char default from unsigned to signed
80
-mc           compact memory model (small code/large data)
81
-mf           flat memory model (small code/small data assuming CS=DS=SS=ES)
82
-ml           large memory model (large code/large data)
83
-mm           medium memory model (large code/small data)
84
-ms           small memory model (small code/small data)
85
-na           disable automatic inclusion of _ialias.h
86
-nc=<id>      set code class name
87
-nd=<id>      set data segment name
88
-nm=<file>    set module name
89
-nt=<id>      set name of text segment
90
-o{a,b,c,d,e,f[+],h,i,k,l,m,n,o,p,r,s,t,u,x,z} control optimization
91
  a           -> relax aliasing constraints
92
  b           -> enable branch prediction
93
  c           -> disable <call followed by return> to <jump> optimization
94
(Press return to continue)
95
  d           -> disable all optimizations
96
  e[=<num>]   -> expand user functions inline (<num> controls max size)
97
  f           -> generate traceable stack frames as needed
98
  f+          -> always generate traceable stack frames
99
  h           -> enable expensive optimizations (longer compiles)
100
  i           -> expand intrinsic functions inline
101
  k           -> include prologue/epilogue in flow graph
102
  l           -> enable loop optimizations
103
  l+          -> enable loop unrolling optimizations
104
  m           -> generate inline code for math functions
105
  n           -> allow numerically unstable optimizations
106
  o           -> continue compilation if low on memory
107
  p           -> generate consistent floating-point results
108
  r           -> reorder instructions for best pipeline usage
109
  s           -> favor code size over execution time in optimizations
110
  t           -> favor execution time over code size in optimizations
111
  u           -> all functions must have unique addresses
112
  x           -> equivalent to -obmiler -s
113
  z           -> NULL points to valid memory in the target environment
114
-pil          preprocessor ignores #line directive
115
-p{c,l,w=<num>} preprocess source file
116
  c           -> preserve comments
117
(Press return to continue)
118
  l           -> insert #line directives
119
  w=<num>     -> wrap output lines at <num> columns. Zero means no wrap.
120
-q            operate quietly
121
-r            save/restore segment registers across calls
122
-ri           return chars and shorts as ints
123
-s            remove stack overflow checks
124
-sg           generate calls to grow the stack
125
-st           touch stack through SS first
126
-tp=<id>      set #pragma on( <id> )
127
-u<id>        undefine macro <id>
128
-v            output function declarations to .def
129
-vcap         VC++ compatibility: alloca allowed in argument lists
130
-w=<num>      set warning level number
131
-wcd=<num>    warning control: disable warning message <num>
132
-wce=<num>    warning control: enable warning message <num>
133
-we           treat all warnings as errors
134
-wx           set warning level to maximum setting
135
-za           disable extensions (i.e., accept only ISO/ANSI C)
136
-zc           place const data into the code segment
137
-zdf          DS floats i.e. not fixed to DGROUP
138
-zdp          DS is pegged to DGROUP
139
-zdl          Load DS directly from DGROUP
140
(Press return to continue)
141
-ze           enable extensions (i.e., near, far, export, etc.)
142
-zev          enable arithmetic on void derived types
143
-zfw          generate FWAIT instructions
144
-zff          FS floats i.e. not fixed to a segment
145
-zfp          FS is pegged to a segment
146
-zgf          GS floats i.e. not fixed to a segment
147
-zgp          GS is pegged to a segment
148
-zg           generate function prototypes using base types
149
-zk0          double-byte character support: Kanji
150
-zk0u         translate double-byte Kanji to Unicode
151
-zk1          double-byte character support: Traditional Chinese
152
-zk2          double-byte character support: Korean
153
-zk3          double-byte character support: Simplified Chinese
154
-zkl          double-byte character support: local installed language
155
-zku=<num>    load UNICODE translate table for specified code page
156
-zl           remove default library information
157
-zld          remove file dependency information
158
-zlf          add default library information to object files
159
-zls          remove automatically inserted symbols
160
-zm           place each function in separate segment
161
-zp=<num>     pack structure members with alignment {1,2,4,8,16}
162
-zpw          output warning when padding is added in a struct
163
(Press return to continue)
164
-zq           operate quietly (equivalent to -q)
165
-zro          omit floating point rounding calls (non ANSI)
166
-zri          inline floating point rounding calls
167
-zs           syntax check only
168
-zt[=<num>]   set far data threshold (i.e., larger objects go in far memory)
169
-zu           SS != DGROUP (i.e., don't assume stack is in your data segment)
170
-zw           generate code for Microsoft Windows
171
-zz           remove "@size" from __stdcall function names (10.0 compatible)
Und zuletzt noch die Konfiguration für wxWidgets mit Watcom (Original)
1
wxWidgets-3.0.4/build/msw/config.wat 
2
# =========================================================================
3
#     This configuration file was generated by
4
#     Bakefile 0.2.9 (http://www.bakefile.org)
5
#     Beware that all changes made to this file will be overwritten next
6
#     time you run Bakefile!
7
# =========================================================================
8
9
10
# -------------------------------------------------------------------------
11
# These are configurable options:
12
# -------------------------------------------------------------------------
13
14
# C compiler 
15
CC = wcc386
16
17
# C++ compiler 
18
CXX = wpp386
19
20
# Standard flags for CC 
21
CFLAGS = 
22
23
# Standard flags for C++ 
24
CXXFLAGS = 
25
26
# Standard preprocessor flags (common for CC and CXX) 
27
CPPFLAGS = 
28
29
# Standard linker flags 
30
LDFLAGS = 
31
32
# The C preprocessor 
33
CPP = $(CC) -p
34
35
# What type of library to build? [0,1]
36
#   1 - DLL
37
SHARED = 0
38
39
# GTK+ toolkit version [,2]
40
TOOLKIT_VERSION = 
41
42
# Build wxUniversal instead of native port? [0,1]
43
#   1 - Universal
44
WXUNIV = 0
45
46
# Compile Unicode build of wxWidgets? [0,1]
47
#   1 - Unicode
48
UNICODE = 1
49
50
# Type of compiled binaries [debug,release]
51
BUILD = debug
52
53
# Should debugging info be included in the executables? The default value
54
# "default" means that debug info will be included if BUILD=debug
55
# and not included if BUILD=release. [0,1,default]
56
DEBUG_INFO = default
57
58
# Value of wxDEBUG_LEVEL. The default value is the same as 1 and means that all
59
# but expensive assert checks are enabled, use 0 to completely remove debugging
60
# code. [0,1,default]
61
DEBUG_FLAG = 1
62
63
# Multiple libraries or single huge monolithic one? [0,1]
64
#   0 - Multilib
65
#   1 - Monolithic
66
MONOLITHIC = 1
67
68
# Build GUI libraries? [0,1]
69
#   0 - Base
70
#   1 - GUI
71
USE_GUI = 1
72
73
# Build wxHTML library (USE_GUI must be 1)? [0,1]
74
USE_HTML = 1
75
76
# Build wxWebView library (USE_GUI must be 1)? [0,1]
77
USE_WEBVIEW = 1
78
79
# Build multimedia library (USE_GUI must be 1)? [0,1]
80
USE_MEDIA = 1
81
82
# Build wxXRC library (USE_GUI must be 1)? [0,1]
83
USE_XRC = 1
84
85
# Build wxAUI library (USE_GUI must be 1)? [0,1]
86
USE_AUI = 1
87
88
# Build wxRibbon library (USE_GUI must be 1)? [0,1]
89
USE_RIBBON = 1
90
91
# Build wxPropertyGrid library (USE_GUI must be 1)? [0,1]
92
USE_PROPGRID = 1
93
94
# Build wxRichTextCtrl library (USE_GUI must be 1)? [0,1]
95
USE_RICHTEXT = 1
96
97
# Build wxStyledTextCtrl library (USE_GUI must be 1)? [0,1]
98
USE_STC = 1
99
100
# Build OpenGL canvas library (USE_GUI must be 1)? [0,1]
101
USE_OPENGL = 1
102
103
# Build quality assurance classes library (USE_GUI must be 1)? [0,1]
104
USE_QA = 0
105
106
# Enable exceptions in compiled code. [0,1]
107
USE_EXCEPTIONS = 1
108
109
# Enable run-time type information (RTTI) in compiled code. [0,1]
110
USE_RTTI = 1
111
112
# Enable threading in compiled code. [0,1]
113
USE_THREADS = 1
114
115
# Enable wxCairoContext for platforms other than Linux/GTK. [0,1]
116
USE_CAIRO = 0
117
118
# Is this official build by wxWidgets developers? [0,1]
119
OFFICIAL_BUILD = 0
120
121
# Use this to name your customized DLLs differently 
122
VENDOR = custom
123
124
#  
125
WX_FLAVOUR = 
126
127
#  
128
WX_LIB_FLAVOUR = 
129
130
# Name of your custom configuration. This affects directory
131
# where object files are stored as well as the location of
132
# compiled .lib files and setup.h under the lib/ toplevel directory. 
133
CFG = 
134
135
# Compiler flags needed to compile test suite in tests directory. If you want
136
# to run the tests, set it so that the compiler can find CppUnit headers. 
137
CPPUNIT_CFLAGS = 
138
139
# Linker flags needed to link test suite in tests directory. If you want
140
# to run the tests, include CppUnit library here. 
141
CPPUNIT_LIBS = 
142
143
# Version of C runtime library to use. You can change this to
144
# static if SHARED=0, but it is highly recommended to not do
145
# it if SHARED=1 unless you know what you are doing. [dynamic,static]
146
RUNTIME_LIBS = dynamic

Vielen lieben Dank

von Sweety68 (Gast)


Lesenswert?

( . )Y( . )

von Andreas S. (marais)


Lesenswert?

Hast Du Dir mal Zeile 281 in png.c angeschaut?

von Sweety68 (Gast)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Zeile 281 in png.c

Mit PNG_API_RULE=2 gehts...

...dann hängts bei Scintilla.

von temp (Gast)


Lesenswert?

Ich weiß ja nicht aber ob Watcom der richtige Compiler dafür ist wage 
ich zu bezweifeln. wxWidgets wird noch aktiv entwickelt, Watcom nicht. 
Ob dieser steinalte Compiler noch alle C++ Konstrukte kennt die die 
wxWidgets Entwickler benutzen oder benutzen werden ist fraglich. Kann 
der überhaupt 64bit Programme erstellen? Mit so einer Konstellation 
wirst du wohl auch ziemlich einsam sein. Ob nicht dieser Weg der 
aktuellere und bessere Weg ist?
https://wiki.wxwidgets.org/Cross-Compiling_Under_Linux

von Sweety68 (Gast)


Lesenswert?

temp schrieb:
> Kann
> der überhaupt 64bit Programme erstellen?

Wegen den 16 Bit hab ich den. Unter den 16 Bit Compilern ist Open Watcom 
der Beste.

von Sweety68 (Gast)


Lesenswert?

Woran könnte es liegen, dass wenn ich in build/msw/config.wat STC 
deaktiviere (wegen Scintilla)
1
# Build wxStyledTextCtrl library (USE_GUI must be 1)? [0,1]
2
USE_STC = 0
das bekomm
1
C:\wx\build\msw>wmake -f makefile.wat
2
Open Watcom Make Version 1.9
3
Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved.
4
Source code is available under the Sybase Open Watcom Public License.
5
See http://www.openwatcom.org/ for details.
6
Error(E61): Unexpected End of File
7
Error(E02): Make execution terminated
?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.