qmake setzt immer -DUNICODE
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52
qmake setzt immer -DUNICODE
Hallo,
mein qmake setzt immer -DUNICODE, sowohl unter Linux als auch unter Windows.
Unter Linux funktioniert das, aber unter Windows läßt sich meine Anwendung nur ohne das kompilieren (da fremde Quellcodedateien mitkompiliert werden).
Ich habe in der .pro Datei aber bei DEFINES das nicht drin, d.h. qmake fürgt das automatisch hinzu.
Jetzt benötige ich etwas, was ich entweder in die .pro Datei eintragen kann, um -DUNICODE zu vermeiden, oder wie ich qmake anders dazu bringe das wegzulassen.
Gruß
mein qmake setzt immer -DUNICODE, sowohl unter Linux als auch unter Windows.
Unter Linux funktioniert das, aber unter Windows läßt sich meine Anwendung nur ohne das kompilieren (da fremde Quellcodedateien mitkompiliert werden).
Ich habe in der .pro Datei aber bei DEFINES das nicht drin, d.h. qmake fürgt das automatisch hinzu.
Jetzt benötige ich etwas, was ich entweder in die .pro Datei eintragen kann, um -DUNICODE zu vermeiden, oder wie ich qmake anders dazu bringe das wegzulassen.
Gruß
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52
Geh auf:BartSimpson hat geschrieben:Und wieso soll das stören??
Die anderen Dateien ignorieren das doch, es sei denn diese werten das aus.
http://www.codemercs.com/D_index.html
ladt dir das Windows-SDK vom IO-Warrior herunter und versuche die Datei iowkit.cpp zu kompilieren, mit mingw32 und qmake.
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52
Mag sein, den Fehler den ich hatte kannst du hier lesen: http://www.codemercs.com/phpBB2/viewtopic.php?t=530BartSimpson hat geschrieben:Bin gerade dabei mal schauen wo es hakt:)
Also im Quellcode wird an den Stellen nirgens die Option UNICODE ausgewertet.
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52
ICH mache garnichts. Die Datei ist aus dem SDK, und ich möchte diese eigentlich nicht verändern, ausser ich habe nun, da ich unter Windows die Option unicode weglasse relevante Nachteile.BartSimpson hat geschrieben:das läst sich mit einem einfachen cast beheben.
in den Fall (wchar*). Oder benutzt nicht die W Funktionen.
Die erwarten allen UTF-16 Strings.
Die Quellcodedateien die ich selbst erstellt habe funktionieren alle mit der Option, allerdings benutze ich weder W-Funktionen noch diese casts, oder ich bin mit nicht bewusst, daß ich das tue
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Dann gibt es noch eine 2. Möglichkeit. Du benutzt doch garantiert VS oder?
dort kannst du die Sprachvariante festlegen. Machmal stellt MS das automatisch auf Unicode, was dazuführt, das alle Funtionen die char erwarten nur noch eine Verpackung für die W Funktionen sind, die denn aber leider wchar haben wollen. Kannst ja mal schauen, ob das aktiviert ist.
Denn die Option wird der qmake.conf gesetzt. Du kannste ja mal versucheweise in deinem Programm schreiben:
Ich habe mit nochmal den Quellcode angeschaut. du must ja nur die iowkit.h includieren, um das ganze zu nutzen. Und dann tritt das Problem ja nicht auf.
Denn wenn du die Lib selber bauen willst, dann ginbt es ja schon eine Projektdatei.
dort kannst du die Sprachvariante festlegen. Machmal stellt MS das automatisch auf Unicode, was dazuführt, das alle Funtionen die char erwarten nur noch eine Verpackung für die W Funktionen sind, die denn aber leider wchar haben wollen. Kannst ja mal schauen, ob das aktiviert ist.
Denn die Option wird der qmake.conf gesetzt. Du kannste ja mal versucheweise in deinem Programm schreiben:
Code: Alles auswählen
#ifdef UNICODE
#undef UNICODE
#endif
Denn wenn du die Lib selber bauen willst, dann ginbt es ja schon eine Projektdatei.
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52
Nein hab ich nicht, aber hier mal meine .pro Datei:BartSimpson hat geschrieben:und die cpp dateien die haste du nicht in deinem Projekt oder?
Haste das Projekt irgenwo im Netzstehen, das man sich das ganze mal anschauen kann?
Code: Alles auswählen
######################################################################
# Automatically generated by qmake (2.00a) Mi Apr 5 18:40:51 2006
######################################################################
# DEFINES += _WIN32
# DEFINES -= UNICODE
TEMPLATE = app
TARGET +=
DEPENDPATH += . src src/linux src/win32
INCLUDEPATH += . src src/linux src/win32
unix:LIBS += src/linux/libiowkit.so
win32:LIBS += src/win32/iowkit.lib
CONFIG += debug_and_release debug_and_release_target
# Input
HEADERS += qubawidgetbase.h \
src/iowarrior.h \
src/iowinfo.h \
src/iowkit.h \
src/quba.h \
src/qubawidget.h \
src/qubawidgetbase.h
unix:HEADERS += src/linux/iowwintypes.h
win32:HEADERS += src/win32/hidinc.h \
src/win32/iowdev.h \
src/win32/StdAfx.h
FORMS += src/qubawidgetbase.ui
SOURCES += src/iowarrior.cpp \
src/main.cpp \
src/quba.cpp \
src/qubawidget.cpp
unix:SOURCES += src/linux/iowkit.cpp
win32:SOURCES += src/win32/iowkit.cpp \
src/win32/StdAfx.cpp
Unter Linux wird anhand von "_WIN32" noch die "iowwintypes.h" (vom SDK) includiert.
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Da sehe ich auch schon die 1. Fehler!!!
und
Denn du willst ja die lib benutzen und nicht bauen!!
Dafür muss jetzte in die .pro Datei rein, das er gegen die lib vom SDK linken soll.
nach /dev/null# DEFINES += _WIN32
# DEFINES -= UNICODE
und
auch nach /dev/null:)SOURCES += src/iowarrior.cpp
unix:SOURCES += src/linux/iowkit.cpp
win32:SOURCES += src/win32/iowkit.cpp \
src/win32/StdAfx.cpp
Denn du willst ja die lib benutzen und nicht bauen!!
Dafür muss jetzte in die .pro Datei rein, das er gegen die lib vom SDK linken soll.
-
stefan-tiger
- Beiträge: 49
- Registriert: 28. März 2006 22:52