Seite 1 von 1
Error MFC shared dll version
Verfasst: 29. Oktober 2010 08:50
von darkshine
Guten Morgen Forum,
ich nutze Qt mit Visual Studio und es klappt auch alles sehr gut. Aus persönlichem Interesse wollte ich mein Projekt mit dem Qt-Creator ausführen. Da erscheint beim Kompilieren folgende Fehlermeldung
#error Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
Ich möchte meinen Quellcode nicht ändern, weil es unter VS zuverlässig läuft. Aber kann ich bei QCreator etwas ändern damit ich es auch hier ausführen kann?
Vielen Dank
Verfasst: 29. Oktober 2010 09:54
von Christian81
Inkludierst Du irgendwo mfc header? Wenn ja - warum?Und wenn Du es wirklich benötigst dann definiere eben _AFXDLL so wie es in der Fehlermeldung steht.
Verfasst: 29. Oktober 2010 10:09
von darkshine
Ich nuzte den MFC Header zum suchen der Com-Ports. Mir wird einmal angezeigt welche Ports überhaupt vorhanden sind und was für mich sehr wichtig ist, die Art der Com-Ports. Ich bekomme angezeigt ob es ein serieller Port oder ein virtueller serieller Port von Bluetooth Modulen ist.
Wie kann ich die _AFXDLL denn definieren?
Verfasst: 29. Oktober 2010 10:29
von darkshine
Wenn es eine Alternative gibt, die virtuelle Ports von Bluetooth-Modulen erkennen kann, dann wäre ich auch sehr dankbar dafür.
Verfasst: 29. Oktober 2010 11:04
von Christian81
darkshine hat geschrieben:
Wie kann ich die _AFXDLL denn definieren?
http://doc.trolltech.com/4.6/qmake-vari ... ml#defines
Verfasst: 29. Oktober 2010 11:53
von darkshine
Ich habe jetzt einfach
DEFINES += _AFXDLL \
in meine .pro Datei in die erste Zeile geschrieben.
Jetzt kommen viele Fehlermeldungen, besonders oft über LPTSTR das nicht konvertiert werden kann. Diese Fehler treten aber nicht in "meinen" Files auf, sondern in verhandenen die in C:\Programme\Microsoft Visual Studio 9.0\VC\include stehen.
Wäre auch zu schön gewesen, wenn es mit einer kleinen Zeile getan wäre

Verfasst: 29. Oktober 2010 12:00
von Christian81
Entweder UNICODE ist definiert oder nicht (kann auch _UNICODE sein). Wie gesagt - warum MFC? Das Geht bestimmt auch einfach über die WinAPI.
Verfasst: 29. Oktober 2010 12:46
von darkshine
Ich hatte zu begin auch die WinAPI genutzt. Aber die Möglichkeit die virtuellen Ports zu erkennen habe ich dort nicht gefunden.
Da ich alle Ports nach einen Gerät abfrage, brauche ich diese Möglichkeit der Filterung.
So kann ich über eine Auswahl die "Bluetooth-Ports" von der Abfrage ausschließen, wenn ich weiß das Gerät es nicht über Bluetooth angeschlossen ist. Da gerne 10 virtuelle Ports oder mehr erstellt werden, ist dies eine sehr nützliche Funktion.
Bietet denn Qt eine Möglichkeit vorhandene Ports zu erkennen (ohne Unterscheidung)?
Super es klappt soweit..jetzt sind es "nur" noch zwei Fehler weil "const unsigned short*" nicht in qlonglong kovertiert werden kann.