C++ von Windows zu Linux

L

LinuxTest

Hallo , :hilfe2:
ich hab folgendes Problem :
hab unter Windows ein C-programm erstellt das auch dort funktioniert.
Nun wollte ich das gleiche Programm unter Linux zum Laufen bekommen. Jedoch funktioniert das irgenwie nicht
Der Anfang des Programms sieht wie folgt aus :
/*#include <WINDOWS.H>
#include <winnls.h>*/ --> erstmal auskommentiert da sonst zuviele Fehlermeldungen

#include <time.h>
#include <stdio.h>
#include </usr/include/mysql/mysql.h>
#include <stdlib.h>
#include <string.h>

beim Compilieren :
g++ diss_to_xml.cpp -o diss_to_xml

erhalte ich folgende Fehlermeldungen :
diss_to_xml.cpp: In function `int fakultaet_aus_Mysql(char*, char*)':
diss_to_xml.cpp:112: error: `CP_UTF8' undeclared (first use this function)
diss_to_xml.cpp:112: error: (Each undeclared identifier is reported only once for each function it appears in.)
diss_to_xml.cpp:112: error: `WCHAR' undeclared (first use this function)
diss_to_xml.cpp:112: error: `MultiByteToWideChar' undeclared (first use this function)
diss_to_xml.cpp:113: error: `CP_ACP' undeclared (first use this function)
diss_to_xml.cpp:113: error: `WideCharToMultiByte' undeclared (first use this function)
diss_to_xml.cpp: In function `int fach_aus_Mysql(char*, char*, char*)':
diss_to_xml.cpp:147: error: `MultiByteToWideChar' undeclared (first use this function)
diss_to_xml.cpp:148: error: `WideCharToMultiByte' undeclared (first use this function)

Die Funktionen MultiByteToWideChar/WideCharToMultiByte benötige ich um eingelesene Zeichen nach UTF8 umzuwandeln.

Ich hoffe, dass mir irgendjemand einen hilfreichen Tip geben kann, um dieses Problem zu behandeln.

danke
 
Poste mal den ganzen source davon..
schon mal vorab: /usr/include/mysql/mysql.h kannst auch einfach als mysql/mysql.h schreiben, der compiler sollte sich das dann automatisch suchen (ist auch besser, weil das include Verzeichnis dann distri unabhängiger wird)
 
LinuxTest schrieb:
Hallo , :hilfe2:
ich hab folgendes Problem :
hab unter Windows ein C-programm erstellt das auch dort funktioniert.
Nun wollte ich das gleiche Programm unter Linux zum Laufen bekommen. Jedoch funktioniert das irgenwie nicht
Der Anfang des Programms sieht wie folgt aus :
/*#include <WINDOWS.H>
#include <winnls.h>*/ --> erstmal auskommentiert da sonst zuviele Fehlermeldungen

#include <time.h>
#include <stdio.h>
#include </usr/include/mysql/mysql.h>
#include <stdlib.h>
#include <string.h>

beim Compilieren :
g++ diss_to_xml.cpp -o diss_to_xml

erhalte ich folgende Fehlermeldungen :
diss_to_xml.cpp: In function `int fakultaet_aus_Mysql(char*, char*)':
diss_to_xml.cpp:112: error: `CP_UTF8' undeclared (first use this function)
diss_to_xml.cpp:112: error: (Each undeclared identifier is reported only once for each function it appears in.)
diss_to_xml.cpp:112: error: `WCHAR' undeclared (first use this function)
diss_to_xml.cpp:112: error: `MultiByteToWideChar' undeclared (first use this function)
diss_to_xml.cpp:113: error: `CP_ACP' undeclared (first use this function)
diss_to_xml.cpp:113: error: `WideCharToMultiByte' undeclared (first use this function)
diss_to_xml.cpp: In function `int fach_aus_Mysql(char*, char*, char*)':
diss_to_xml.cpp:147: error: `MultiByteToWideChar' undeclared (first use this function)
diss_to_xml.cpp:148: error: `WideCharToMultiByte' undeclared (first use this function)

Die Funktionen MultiByteToWideChar/WideCharToMultiByte benötige ich um eingelesene Zeichen nach UTF8 umzuwandeln.

Ich hoffe, dass mir irgendjemand einen hilfreichen Tip geben kann, um dieses Problem zu behandeln.

danke
naja, du benutzt in deinem Programm Funktionen aus der WinApi und da du die nicht includest, sondern auskommentiert hast, ist es klar das es "undeclared (first use this function)" Meldungen gibt.
Und das "#include <WINDOWS.H>
#include <winnls.h>" nicht unter Linux aufzufinden ist, sollte wohl klar sein oder? ;)
 

Ähnliche Themen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

CUPS Godex Filter kompilieren

Ausführbare C-Datei von Mac OS auf Embedded Linux ausführen

NagiosGrapher 1.7.1 funktioniert nicht

Windows clients können nicht mehr auf lange laufendes System zugreifen

Zurück
Oben