Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Borland C++ Builder 5 Enterprise erkennt Win32-Anwendung als Win16-Anwendung !?

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe ein kleines Problem. Ich arbeite hier mit dem C++ Builder 5 Enterprise von Borland. Da ich mich damit nicht sonderlich gut auskenne und ein kleines Problem habe, hoffe ich mal, das ihr mir helfen könnt.

Ich habe ein Projekt, in der eine Include-Datei eingebunden wird, in der unter anderem folgendes steht:


*snip*


// Set 1-byte structure alignment

#if defined (__BORLANDC__)               // Borland C/C++

  #pragma option -a-

  #if defined (WIN32)

    #pragma comment (lib, "crpe32.lib")    // Point to Borland Lib File

  #else

    #pragma comment (lib, "crpe.lib")    // Point to Borland Lib File

  #endif // WIN32

#elif defined (_MSC_VER)                 // Microsoft Visual C++

  #if _MSC_VER >= 900                    // MSVC 2.x and later

    #pragma pack (push)

    #pragma comment (lib, "crpe32m.lib") // Point to Microsoft Lib File

  #endif

  #pragma pack (1)

#endif


#if !defined (WIN32)

  #include <Print.h>

#endif


#if defined (__cplusplus)

extern "C"

{

#endif


*snip*

Da ich eine Win32 Anwendung erstellen möchte, sollte er die Library crpe32.lib benutzen und fertig.

Wenn ich jetzt allerdings mein Projekt übersetzen möchte, bekomme ich einen Fehler. Der Compiler sagt mir, das er die Datei "print.h" nicht finden kann. Da hat er Recht. Die gibt es auch nicht. Aber die sollte er auch garnicht benötigen, da ich ja eine Win32-Anwendung erstellen möchte.

Was habe ich aus versehen geändert, das es jetzt nicht mehr klappt? (Früher ging es, am System wurde nichts geändert. Jedenfalls nicht bewusst.)

Den gleichen Fehler bekomme ich, wenn ich eine komplett neue Anwendung erstellen möchte, wo nur die Include-Datei eingebunden wird.

Also, was mache ich falsch bzw. was muss ich machen, damit ich wieder übersetzen kann?

So. Ich habe herausgefunden, das die Include-Datei einfach veraltet ist. Es heisst immerhin _WIN32 und nicht mehr WIN32 ...

Warum das allerdings erst mit dieser Datei geklappt hat, weiss ich immer noch nicht.

  • 2 Wochen später...
Zumindest unter Windows ist diese Aussage falsch.
!= true

Im Borland Compiler wird sehr wohl zwischne Groß- und Kleinschreibung unterschieden.... ;)

Und wie bitte soll das Funktionieren wenn Windows das nicht juckt?!

Du solltest die Case-Sensivity von C/C++ nicht mit der Groß- und Kleinschreibung verwechseln die Windows verwendet.

Genau darauf will ich hinaus. Das Windows das wurscht ist, ist schon klar.

Dennoch will der Compiler doch die richtige Groß-/Kleinschreibung, ansonsten wirft er Fehler raus. Das war was ich meinte.

Habe mich da vielleicht etwas unklar ausgedrückt!?

Ist aber auch egal, weil das Problem ja erledigt ist.

Print.h/print.h gibbet nit, also nix Probläm ;)

Schönen Gruß

Michael

und was passiert wenn die print.h nicht includiert wird, also auskommentiert?

es kann gut sein das der Präprozessor erstmal alle Datein vorhanden wissen will bevor er überhaupt loslegt?

Vielleicht ist auch das "#if !defined (WIN32)" falsch, vielleicht nennt sich das Ding ja bei Borland anders ;)

Andere Fehlerquellen kann ich mir nun net vorstellen.

Du kannst ja auch versuchen eine leere print.h anzulegen, bzw. die richtige dort reinzukopieren

Dennoch will der Compiler doch die richtige Groß-/Kleinschreibung, ansonsten wirft er Fehler raus. Das war was ich meinte.

Vielleicht solltest du das nochmal für dich selbst überprüfen. Der Borland-Compiler, den ich hier habe (5.5), beschwert sich z.B. nicht über #include <IOSTREAM>.

(Es hätte mich auch sehr gewundert ;))

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.