Ich möchte ein C++ Builder-DLL-Projekt erstellen, das VCL nicht verwendet. Aber ich bekomme diesen Fehler in sysmac. Kennt jemand die mögliche Ursache für diesen Fehler?C++ Builder [C++ - Fehler] sysmac.h (58): E2040-Deklaration wurde falsch beendet
Antwort
Bei einer Vermutung (weil es ca. 5 Jahren ist, da ich mit C++ Builder würde), ist es, weil sysmac.h die VCL erfordert, von diesem VCL Overview
Das __declspec Schlüsselwort für Sprachunterstützung mit der VCL zur Verfügung gestellt bis überwinden die zuvor genannten Artikel. Die sysmac.h-Datei enthält Makros, die Sie verwenden sollten, wenn Sie benötigen, um dieses Schlüsselwort zu verwenden. Die __declspec Variationen werden als nächstes diskutiert
Ich brauche nicht sysmac und VCL. Kann ich Funktionen in DLL ohne "__declspec" in C++ Builder exportieren? – samir105
Ich weiß, dass Sie native Win32-Bibliotheken und dlls mit C++ - Builder erstellen können (ich habe es getan), aber keine Kopie mehr, und es ist Jahre her, seit ich es benutzt habe. Tut mir leid, ich kann nicht mehr helfen. –
Dies bedeutet, dass Sie ein VCL-Header irgendwo in Ihrem Projekt sind darunter - höchstwahrscheinlich in einer Datei, die als C-Einheit kompiliert wird (daher die Syntaxfehler).
Sie können "Erweiterte Fehlerinformationen" in den Projektoptionen aktivieren, um das zuständige Modul aufzuspüren.
E2040 Erklärung beendete falsch (C++)
Eine Erklärung hat ein extra oder falsches Beendigungssymbol, wie beispielsweise ein Semikolon nach einem Funktionskörper platziert.
Eine C++ - Memberfunktion, die in einer Klasse mit einem Semikolon zwischen der Kopfzeile und der öffnenden linken Klammer deklariert wird, generiert ebenfalls diesen Fehler.
nach dem Code, der das Problem verursacht –
Es ist ein großes Projekt und die Einheit, die die Fehlerzeile enthält, ist C++ Builder-Systemeinheit. – samir105
@ samir105 - sieh dir diesen Aufsatz an: http://www.catb.org/~esr/faqs/smart-questions.html Selbst mit einer spezifischen Fehlermeldung kann uns keiner von uns ohne Ratschläge beraten den Quellcode sehen –