2016-06-17 1 views
1

Essayant de compiler l'ancien projet WATCOM FORTRAN avec un ensemble mis à jour de fichiers OBJ tiers.Les fonctions de l'API Windows référencées WATCOM FORTRAN sont manquantes

Linker voit les fonctions tierces, mais se plaint d'un certain nombre (toutes?) De fonctions API Windows. J'ajoutais différents fichiers LIB et OBJ trouvés dans le répertoire d'installation de WATCOM, qui semblaient avoir des noms appropriés - rien ne change dans les erreurs de l'éditeur de liens. Il commence par dire que GetVersionExA référencé ne peut pas être trouvé, et procède à un certain nombre de messages similaires pour d'autres fonctions API Windows à ReadFile/WriteFile, où il est dit - trop d'erreurs. J'ai l'impression que cela a quelque chose à voir avec les décorations de fonctions - "_", "@" etc. symboles ajoutés aux noms de fonctions, mais je peux, bien sûr, me tromper.

Une idée d'où chercher ou quoi essayer?

+0

Comme il s'agit d'un ancien code, vous aurez peut-être besoin d'une ancienne version du SDK. À quelle version êtes-vous lié? – theB

Répondre

0

Merci à tous ceux qui ont lu ma question.

Il s'est avéré que j'utilisais un fichier OBJ (sur trois disponibles) destiné aux produits Borland/Embarcadero. Les deux autres étaient des fichiers COFF et OMF convenant à différents compilateurs - le fichier OMF avait des décorations de fonctions API Windows correspondant à celles de l'ancien fichier kernel32.lib de WATCOM.

1

vous devez créer un lien avec Kernel32.lib (GetVersionExA, ReadFile, WriteFile - ici), peut-être besoin aussi inclure quelques autres

BIL
+0

Merci, j'ai essayé ça. J'ai l'impression que cela a quelque chose à voir avec les décorations de fonctions - "_", "@" etc symboles ajoutés aux noms de fonctions. – Igor

+0

si vous construisez sur x86 - oui, les fonctions sont décorées. dites GetVersionExA -> __imp__GetVersionExA @ 4, __imp__ReadFile @ 20. besoin de voir exactement les messages d'erreur. aussi quelles bibliothèques ajoutez-vous? ou lien avec l'option/verbose - besoin de viwe quelles bibliothèques utilisent linker dans la construction et sous quelle forme il cherche des fonctions importées – RbMm