Sie sind nicht angemeldet.

1

Dienstag, 17. November 2020, 17:25

Neues SDK und Header-Dateien, die einst von BorlandC++ kamen

Hallo!

Früher benötigte man fürs Arbeiten mit dem NT-SDK ein paar zusätzliche Header-Dateien, die dem Borland-C++-Compiler beilagen. Heute sollte sich das mkmf/pmake diese Dateien eigentlich aus dem Watcom-Verzeichnis holen. Der Watcom-Installer hat dafür bei der Installation diese Umgebungsvariable gesetzt:
INCLUDE=C:\WATCOM\H;C:\WATCOM\H\NT;C:\WATCOM\H\NT\DIRECTX;C:\WATCOM\H\NT\DDK

Und im C:\WATCOM\H liegen auch die gesuchten Dateien. Trotzdem bekomme ich beim Compilieren eigener Programme diese Fehler:
C:/pcgeos/CInclude/geos.h:22: stddef.h: No such file or directory
C:/pcgeos/CInclude/geos.h:22: warning: nonexistent file <stddef.h> omitted from dependency output
C:/pcgeos/CInclude/ansi\stdio.h:22: stdarg.h: No such file or directory
C:/pcgeos/CInclude/ansi\stdio.h:22: warning: nonexistent file <stdarg.h> omitted from dependency output

Muss ich da vielleicht etwas ändern? Laut Jirkas Linux-Anleitung müsste die Umgebungsvariable ggf.so aussehen?!
INCLUDE=C:\WATCOM\LH;C:\WATCOM\H

Jörg
:D Most favorite keys by profession: astronauts: space, pirates: enter, German teachers: 6... :D

2

Dienstag, 17. November 2020, 19:50

Hallo Jörg,

schön dass du das NewSDK testen möchtest.

Deine Umgebungsvariable für die Include-Files sieht korrekt aus und ist auch in meiner Win Installation so gesetzt (ohne DirectX und DDK).

Hast du INCLUDE mal via echo ausgeben lassen?

JIrka

3

Dienstag, 17. November 2020, 23:38

Das GEOS-mk-System verwendet INCLUDE nicht, entscheidend sollte sein, dass WATCOM richtig gesetzt ist:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
.c.obj :
 	$(CC) -bt=nt $(CFLAGS) \
 	"$(CC_IMPSRC)" \
 	-i="$(WATCOM)/h/nt" \
 	-i="$(WATCOM)/h" 
.c.o :
 	$(CC) -D_LINUX -bt=linux $(CFLAGS) \ 	
 	"$(CC_IMPSRC)" \ 
  	-i="$(WATCOM)/lh" \
  	-i="$(WATCOM)/h" \
  	-d_WCI86FAR=__far

4

Mittwoch, 18. November 2020, 09:41

Hmmm...
:D Most favorite keys by profession: astronauts: space, pirates: enter, German teachers: 6... :D

5

Mittwoch, 18. November 2020, 20:57

Seufz! Geht immer noch nicht! Schon der Schritt "pmake depend" beim Aufruf von mkmf meldet die fehlenden Dateien... :(
:D Most favorite keys by profession: astronauts: space, pirates: enter, German teachers: 6... :D

6

Mittwoch, 18. November 2020, 22:41

Kannst Du mit das Projekt mal zusenden?

7

Donnerstag, 19. November 2020, 15:31

Verschickt.

Dabei ist mir eine Sache aufgefallen: Das Verzeichnis heißt "C:\pcgeos\mygeos\Appl\Eddie". die Dateien darin stammen aber noch vom DOS-SDK und heißen EDDIE.GOC, EDDIE.GP und LOCAL.MK. Benenne ich die Dateien in Eddie.goc, Eddie.gp und local.mk um, gibt es immer noch "No such file or directory"-Fehler. Trotzdem sieht die Ausgabe etwas anders aus:

C:\pcgeos\mygeos\Appl\Eddie>mkmf
Makefile generation complete.
Running "pmake depend".
--- dependencies.mk ---
makedpnd @TMPa17852.
Searching for Eddie.goc in . -- Found it.
Processing Eddie.goc...
Searching for Eddie.cpp in . -- Found it.
Processing Eddie.cpp...
C:/pcgeos/CInclude/geos.h:22: stddef.h: No such file or directory
C:/pcgeos/CInclude/geos.h:22: warning: nonexistent file <stddef.h> omitted from dependency output
C:/pcgeos/CInclude/ansi\stdio.h:22: stdarg.h: No such file or directory
C:/pcgeos/CInclude/ansi\stdio.h:22: warning: nonexistent file <stdarg.h> omitted from dependency output
Searching for Eddie.goc in . -- Found it.
Processing Eddie.goc...
Searching for Eddie.cpp in . -- Found it.
Processing Eddie.cpp...
C:/pcgeos/CInclude/geos.h:22: stddef.h: No such file or directory
C:/pcgeos/CInclude/geos.h:22: warning: nonexistent file <stddef.h> omitted from dependency output
C:/pcgeos/CInclude/ansi\stdio.h:22: stdarg.h: No such file or directory
C:/pcgeos/CInclude/ansi\stdio.h:22: warning: nonexistent file <stdarg.h> omitted from dependency output

C:\pcgeos\mygeos\Appl\Eddie>pmake
--- Eddie.obj ---
goc -D__GEOS__ -IEddie -IC:/pcgeos/Appl/Eddie/Eddie -IC:/pcgeos/mygeos/CInclude -IC:/pcgeos/CInclude -IC:/pcgeos/CInclude/Ansi -I. -IC:/pcgeos/Appl/Eddie -I- -IEddie -IC:/pcgeos/Appl/Eddie/Eddie -IC:/pcgeos/mygeos/CInclude -IC:/pcgeos/CInclude -IC:/pcgeos/CInclude/Ansi -I. -IC:/pcgeos/Appl/Eddie -DPRODUCT_ -DHARDWARE_TYPE_PC -w -l -cw -o Eddie.nc Eddie.goc
wcc -D__GEOS__ -D__WATCOM__ -w4 -zu -of -of+ -ol -ol+ -s -ecc -zp1 -ei -zdp -d2 -hc -ml -i=. -i=C:\pcgeos\mygeos\CInclude -i=C:\pcgeos\CInclude -i=C:\pcgeos\CInclude\Objects -i=C:\pcgeos\CInclude\Objects\Text -i=C:\pcgeos\CInclude\Objects\FlatFile -i=C:\pcgeos\CInclude\Ansi -i="C:\WATCOM/h" -DPRODUCT_ -DHARDWARE_TYPE_PC -3 -fo="Eddie.obj" "Eddie.nc"
Open Watcom C x86 16-bit Optimizing Compiler
Version 2.0 beta Nov 13 2020 00:39:29 (64-bit)
Copyright (c) 2002-2020 The Open Watcom Contributors. All Rights Reserved.
Portions Copyright (c) 1984-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
Eddie.goc(1237): Warning! W303: Parameter 'oself' has been defined, but not referenced
Eddie.goc(1237): Warning! W303: Parameter 'message' has been defined, but not referenced
Eddie.goc(2099): Warning! W303: Parameter 'oself' has been defined, but not referenced
Eddie.goc(2099): Warning! W303: Parameter 'message' has been defined, but not referenced
Eddie.goc(2113): Warning! W303: Parameter 'oself' has been defined, but not referenced
Eddie.goc(2113): Warning! W303: Parameter 'message' has been defined, but not referenced
Eddie.nc: 19848 lines, included 53073, 6 warnings, 0 errors
Code size: 7460
--- eddie.geo ---
del -f eddie.geo
C:\pcgeos\mygeos\Appl\Eddie\-f konnte nicht gefunden werden
glue -Og eddie.gp -P 0.0 -R 0.0.0.0 -z -F./ -DPRODUCT_ -DHARDWARE_TYPE_PC -m -LC:/pcgeos/mygeos/Include -LC:/pcgeos/Installed/Include -T 1 -N Copyright\20JOERG\20POLZFUSZ -o eddie.geo Eddie.obj
borlandc
borlandc
borlandc
borlandc
Error eddie.gp 18: resource APPRESOURCE not defined
Error eddie.gp 19: resource INTERFACE not defined
Resource Size # Relocs
-------------------------------------------------
CoreBlock 0 0
dgroup 192 6
_PUBLISHED___CHP 9 1
Eddie_TEXT 7444 78
AppResource 428 1
MONIKERRESOURCE 876 1
Interface 2180 1

Total size: 11129 bytes Fixed size: 192 bytes
Uninitialized data/stack: 2000 bytes

*** error code 2
:D Most favorite keys by profession: astronauts: space, pirates: enter, German teachers: 6... :D

8

Donnerstag, 19. November 2020, 15:42

Trotz der "No such file or directory" scheint es nun also an diesen beiden Fehlern zu scheitern:
Error eddie.gp 18: resource APPRESOURCE not defined
Error eddie.gp 19: resource INTERFACE not defined

Und was soll ich sagen?! Im GP-File steht tatsächlich APPRESOURCE, während im GOC-File AppResource steht! Genauso der andere Fehler: INTERFACE im GP und Interface im GOC!? Scheinbar ist da jetzt irgendeine Komponente CASE-SENSITIVE geworden zu sein... also schnell korrigiert - und schon entsteht endlich ein "eddie.geo" (alles klein)... Puh! Trotzdem merkwürdig, warum der "pmake depend"-Schritt immer noch fehlende Header anzeigt, oder!?
:D Most favorite keys by profession: astronauts: space, pirates: enter, German teachers: 6... :D

9

Donnerstag, 19. November 2020, 17:19

Falk hat mich schon gewarnt, dass das passieren kann. Mach mal die Groß/Kleinschreibung in der GOC und der GP konsistent. Also INTERFACE -> Interface. Vielleicht geht es dann.
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

10

Donnerstag, 19. November 2020, 17:33

Ja, die kompilierte Geode funktioniert sogar fast. ;) Ich weiß nur nicht, ob ich jetzt versehentlich die "Variante mit Rechenfehler" kompiliert habe, oder ob es andere Probleme gibt... (Das auf Zufallszahlen basierende Ergebnis bleibt auf jeden Fall verdächtig niedrig.)
:D Most favorite keys by profession: astronauts: space, pirates: enter, German teachers: 6... :D

11

Donnerstag, 19. November 2020, 18:19

Hallo Jörg,

wenn du die Zufallszahlen mit Funktionen wie FloatPushNumber(), FloatRandomN() und FloatPopNumber in Verbindung mit dem Datentyp long double erzeugst, dann gibt es tatsächlich noch ein Problem im NewSDK/Watcom Compiler. Eine Lösung ist aber in Sicht...

Jirka

Ähnliche Themen

Thema bewerten