Compiling Notes: Difference between revisions
Jump to navigation
Jump to search
Line 37: | Line 37: | ||
==Linkers== | ==Linkers== | ||
===Change to WLINK=== | |||
You need to add: | |||
set EMXOMFLD_TYPE=WLINK | |||
set EMXOMFLD_LINKER=wl.exe | |||
Remember that the Wacom Linker is "wl.exe" and is on the "watcom-wlink-hll" RPM package. | |||
==Resource Compiler== | ==Resource Compiler== |
Revision as of 00:04, 22 April 2023
Enviroment
RPM Packages
I always confuse the RPM packages that I use to compile things with GCC. I want to use as much as open source tools available. Here it is what I install:
- yum install git gcc make libc-devel binutils
- watcom-wrc
- watcom-wlink-hll
Checking the Enviroments
Execute %INCLUDE% and see if soemthing shows up.
PM Code Errors/Warnings with GCC
CHAR * {aka char *}
- Warning
gcc -Wall -Zomf -c -O2 bitcat2.c -o bitcat2.obj bitcat2.c: In function 'main': bitcat2.c:36:29: warning: pointer targets in passing argument 2 of 'WinRegisterClass' differ in signedness [-Wpointer-sign] 36 | WinRegisterClass(hab, szClientClass, ClientWndProc, CS_SIZEREDRAW, 0); | ^19:25, 21 April 2023 (CEST)19:25, 21 April 2023 (CEST)~~ | | | CHAR * {aka char *} In file included from W:/usr/include/os2.h:39, from bitcat2.c:4: W:/usr/include/os2emx.h:6138:47: note: expected 'PCSZ' {aka 'const unsigned char *'} but argument is of type 'CHAR *' {aka 'char *'}
- Fix
I replaced
static CHAR szClientClass[] = "BitCat2";
for
unsigned char szClientClass[] = "BitCat2";
and warnings were removed.
Linkers
Change to WLINK
You need to add:
set EMXOMFLD_TYPE=WLINK set EMXOMFLD_LINKER=wl.exe
Remember that the Wacom Linker is "wl.exe" and is on the "watcom-wlink-hll" RPM package.
Resource Compiler
- Error 1
Reading binary resource file walker.res (0) RC: error - Only integer TYPE allowed (). RC: 1 error detected make: *** [walker.exe] Error 1
- It is possible of an error on the SET INCLUDE directory. Type %INCLUDE% and check if it is pointing to the directory that contains OS2.H
- Error 2
[E:\PROJECTS\SAMPLEPACK\PMWALKER]make 2>&1 | tee make.out wrc -r walker.rc Open Watcom Windows and OS/2 Resource Compiler Version 2.0beta1 LA Portions Copyright (c) 1993-2002 Sybase, Inc. All Rights Reserved. Source code is available under the Sybase Open Watcom Public License. See http://www.openwatcom.org/ for details. walker.rc(2): Error! E062: Unable to open 'os2.h' make: *** [walker.res] Error 9
- It is possible of an error on the SET INCLUDE directory. Type %INCLUDE% and check if it is pointing to the directory that contains OS2.H