-DUNICODE in Makefiles

Alles rund um die Programmierung mit Qt
Antworten
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

-DUNICODE in Makefiles

Beitrag von KingV1k »

Hi,

ich benutze QT 4, Eclipse und das CDT-Plugin. beim compilen meines programms kommt immer die Fehlermeldung:

main.cpp:236: error: cannot convert `const char*' to `const WCHAR*' for argument `1' to `BOOL CopyFileW(const WCHAR*, const WCHAR*, BOOL)'

Ich habe inzwischen erfahren das es an dem "-DUNICODE" in den Makefiles liegt. Sobald ich es entferne kommt die Fehlermeldung nicht mehr. Nur leider ist es nicht so schön in den Makefiles rumzuspielen. Kennt ihr eine andere Möglichkeit? Könnt ihr es mir auch genauer erklären wieso es kommt?

Mfg
kingV1k
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Erklären tue ich es jetzt nicht, aber statt CopyFile solltest Du QFile::copy(...) nutzen. Dann bist Du auch plattformunabhängig.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: -DUNICODE in Makefiles

Beitrag von Christian81 »

KingV1k hat geschrieben:Könnt ihr es mir auch genauer erklären wieso es kommt?
Macman hat Recht und es kommt nunmal davon dass Qt Unicode verwendet. Also sollten wohl oder übel auch die WinAPI-Unicode - Funktionen benutzt werden. Aber wie schon gesagt - es ist überflüssig und macht dein Programm platformabhängig.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

Re: -DUNICODE in Makefiles

Beitrag von gerome69 »

KingV1k hat geschrieben:Hi,

ich benutze QT 4, Eclipse und das CDT-Plugin. beim compilen meines programms kommt immer die Fehlermeldung:

main.cpp:236: error: cannot convert `const char*' to `const WCHAR*' for argument `1' to `BOOL CopyFileW(const WCHAR*, const WCHAR*, BOOL)'

Ich habe inzwischen erfahren das es an dem "-DUNICODE" in den Makefiles liegt. Sobald ich es entferne kommt die Fehlermeldung nicht mehr. Nur leider ist es nicht so schön in den Makefiles rumzuspielen. Kennt ihr eine andere Möglichkeit? Könnt ihr es mir auch genauer erklären wieso es kommt?

Mfg
kingV1k
Du kannst natürlich explizit CopyFileA benutzen, aber die anderen Vorschläge mit QFile::Copy sind sicher vom Konzept her die deutlich besseren.

B.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: -DUNICODE in Makefiles

Beitrag von Christian81 »

gerome69 hat geschrieben: Du kannst natürlich explizit CopyFileA benutzen
Na prima... hättest Du auf CopyFileW verwiesen und gesagt wie mans benutzt wäre es ja sinnvoll gewesen, aber eine Ansi-Funktion in einem Unicode-Programm ist total fehl am Platze.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten