Ich führe derzeit Wartungsarbeiten an veralteten Anwendungen durch, die mit Borland C Builder 6 erstellt wurden. Viele dieser Anwendungen verwenden ein Paket für die Schnittstelle zu Windows-Treibern. Ich kann den Code der .bpk einfach durch geringfügige Änderungen an der Quelle und Verknüpfung in einer .a
oder lib
von einer dritten Partei aktualisieren, aber es scheint, dass das Paket nur Code oder .bpi
Bibliotheken unterstützt. Irgendwelche Ideen, wie man die Bibliotheken in das Paket einbindet?Verknüpfen eines Borland C Builder-Pakets mit einer Bibliothek
Antwort
Die Verknüpfung in einer Bibliothek kann erfolgen, indem Sie Projekt/Zu Projekt hinzufügen auswählen und die Bibliothek hinzufügen, anstatt mit dem Projekt verknüpft zu werden.
Sie können diese Zeilen in einer CPP-Datei in Ihrem Paketprojekt hinzufügen.
#ifdef __MACH__
#pragma comment(lib, "mylib.a")
#endif
#ifdef __WIN32__
#pragma comment(lib, "mylib.lib")
#endif
Dies ist eine Option, aber ich habe es immer abgelehnt, die Verknüpfung in meinem Code zu definieren. Für mich sollte das in eine globale Projektdatei gehen, nicht in irgendeine komische Ecke des Codes. Dies ist, was BCB für Komponenten verwendet, wenn Sie eine Komponente aus einem entfernen, von dem Sie manchmal den verknüpften Spezifikationstext entfernen müssen, der verwaist wurde. – Gerhard
- 1. Verknüpfen mit einer C++ - Bibliothek, die externe "C" -Funktionen
- 2. Verknüpfen eines Racket-Programms mit einer Fortran-Bibliothek
- 3. C: Erstellen einer statischen Bibliothek und Verknüpfen mit einem Makefile
- 4. Verknüpfen einer gemeinsamen Bibliothek mit gcc
- 5. Hinzugefügte Bibliothek; Borland C++ Builder pausiert ohne Grund
- 6. Verknüpfen eines C++ Programms mit SpiderMonkey?
- 7. Verknüpfen mit einer Boost-Bibliothek in einer Cocoa-Anwendung
- 8. Verknüpfen einer statischen C-Bibliothek in Xcode 7?
- 9. Irgendwie Erstellen einer 64-Bit-DLL mit Borland C++ Builder
- 10. Borland C++ 5.0 Makefile Generation
- 11. Verknüpfen einer Bibliothek über ocamlbuild/ocamlfind
- 12. Verknüpfen mit der richtigen Bibliothek
- 13. Fehler beim Verknüpfen mit LibPng-Bibliothek
- 14. Verknüpfen eines PivotTable-Filters mit einer Zelle
- 15. Expose Borland C++ Methoden zu C#
- 16. Mit CMake statisch zu einer Bibliothek außerhalb des Projekts verknüpfen
- 17. Problem mit .NET-DLL in Borland C++ Builder 4
- 18. Bibliothek ordnungsgemäß verknüpfen
- 19. Verknüpfen einer C-Bibliothek und ihrer unterstützenden Bibliothek in Swift (linux)
- 20. Verknüpfen mit einer benutzerdefinierten externen Bibliothek in CMAKE
- 21. Verknüpfen einer dynamischen Bibliothek mit Bazel auf MacOS
- 22. Eine statische Bibliothek während des Builds mit einer gemeinsamen verknüpfen?
- 23. Verknüpfen mit einer Windows-Bibliothek außerhalb des Build-Ordners
- 24. Kompilieren eines C-Programms meine Verknüpfung mit einer externen Bibliothek
- 25. Portierung von Borland C++ Builder auf Qt
- 26. Verknüpfen der statischen Bibliothek mit einem Klassenbibliotheksprojekt
- 27. Borland C++ 6 mit neuen Multi-Core-Prozessoren?
- 28. -Djava.library.path nicht verknüpfen .so-Bibliothek
- 29. Windows C Runtime-Bibliothek nicht verknüpfen, wie ich es erwarte?
- 30. Verknüpfen von Fehlern beim Kompilieren einer gemeinsam genutzten Bibliothek
IIRC, Sie müssen die Bibliotheken manuell über Befehlszeilenoptionen (in den Optioneneinstellungen) hinzufügen. Aber das letzte Mal, als ich den C++ Builder ** 6 ** benutzt habe, ist schon lange her, also kann ich mich nicht mehr an die Details erinnern. Aber ich sehe, dass Sie '.a' Dateien erwähnen. Hast du vielleicht ** XE6 ** gemeint, was nur ein paar Versionen her ist? C++ Builder ** 6 ** hat keine '.a' Dateien unterstützt. C++ Builder ** XE6 ** tut das. C++ B 6 stammt aus 2002, C++ B XE6 stammt aus dem Jahr 2014. –
Es ist definitiv C++ Builder 6 von 2002 (das Projekt wurde mit C++ Builder 5 gestartet). Es gab keinen zwingenden Grund, Ressourcen zu verwenden, um sie bis jetzt zu aktualisieren. In C++ Builder 6 gibt es keine Option für Befehlszeilenoptionen. Ich konnte es mit einer make-Datei erstellen. – Gerhard
2002 ist eine lange Zeit her. Ich habe CB6 seit Jahren nicht mehr benutzt. Aber IIRC, irgendwo gab es eine Möglichkeit, eine Option hinzuzufügen. Aber wenn Sie es geschafft haben, eine Make-Datei zu verwenden, ist alles in Ordnung. –