Lier les fichiers de C dans l'application Delphi, la résolution de dépendances standard C

StackOverflow https://stackoverflow.com/questions/1966692

  •  21-09-2019
  •  | 
  •  

Question

Je compilé libxml2 avec le compilateur de ligne de commande BCC 5.5, maintenant j'ai beaucoup de fichiers OBJ que je voudrais créer un lien dans mon application Delphi. Malheureusement, je reçois beaucoup d'erreurs « Insatisfait de déclaration avant ou externe », pointant vers des fonctions de la bibliothèque standard C comme memcpy, ouvert, recv etc ... Que dois-je faire pour compiler correctement? Je voudrais ne pas dépendre msvcrt.dll ou d'autres bibliothèques externes.

Merci d'avance!

Était-ce utile?

La solution

En fonction de la version de Delphi que vous avez, il devrait y avoir une unité appelée crtl.dcu avec laquelle vous pouvez lier. Il suffit d'utiliser la directive L $ pour chaque fichier .obj dans une unité qui utilise également ctrl. Vous devrez peut-être « utiliser » d'autres différentes unités comme Windows, WinSock, etc ... Le point est de fournir les symboles et les fonctions pour résoudre pendant la phase de lien.

Ceci est la même technique utilisée pour lier statiquement dans le code DataSnap TClientDataSet utilisé pour construire également midas.dll.

Autres conseils

vous devriez lire l'article de Rudy ici "Utilisation des fichiers objet C dans Delphi"

Ne pas utiliser ces fonctions, mais les réécrire pour appeler des fonctions du système d'exploitation (kernel32 / system32) directement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top