QT 4.3.3 und Visual C++ 6.0 - DLL erstellen
-
KartoffelKiffer
- Beiträge: 101
- Registriert: 27. Februar 2008 15:59
QT 4.3.3 und Visual C++ 6.0 - DLL erstellen
Hallo,
wie schon erwähnt arbeite ich mit der Version 6.0 der Visual C++-Umgebung.
Eingebettet habe ich dort das Add-In "Qt 4 Visual Studio Integration.".
Ich möchte für eine Applikation nun eine DLL erstellen, die unter Anderem auf QT-Funktionen zurück greift.
Leider kommt beim Kompilieren ständig die Meldung "fatal error C1083: Cannot open include file: 'QtGui': Permission denied", wenn ich in der DLL ein "#include <QtGui>" mache.
Die DLL erstelle ich wiefolgt:
- New
- Projects
- Win32 Dynamic-Link Library
- Name und Pfad angeben
- "A DLL that exports some symbols."
- Fertig
Beim Kompilieren gibt es auch astrein eine .dll-Datei im debug-Ordner, wenn ich den include der QtGui entferne.
Jetzt fehlt mir nur noch die Möglichkeit auch QT-Funktionalität einzubinden, dann wäre ich wunschlos glücklich.
Mfg KK
wie schon erwähnt arbeite ich mit der Version 6.0 der Visual C++-Umgebung.
Eingebettet habe ich dort das Add-In "Qt 4 Visual Studio Integration.".
Ich möchte für eine Applikation nun eine DLL erstellen, die unter Anderem auf QT-Funktionen zurück greift.
Leider kommt beim Kompilieren ständig die Meldung "fatal error C1083: Cannot open include file: 'QtGui': Permission denied", wenn ich in der DLL ein "#include <QtGui>" mache.
Die DLL erstelle ich wiefolgt:
- New
- Projects
- Win32 Dynamic-Link Library
- Name und Pfad angeben
- "A DLL that exports some symbols."
- Fertig
Beim Kompilieren gibt es auch astrein eine .dll-Datei im debug-Ordner, wenn ich den include der QtGui entferne.
Jetzt fehlt mir nur noch die Möglichkeit auch QT-Funktionalität einzubinden, dann wäre ich wunschlos glücklich.
Mfg KK
Zuletzt geändert von KartoffelKiffer am 19. Juni 2009 14:02, insgesamt 1-mal geändert.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
-
KartoffelKiffer
- Beiträge: 101
- Registriert: 27. Februar 2008 15:59
Hallo Christian,
die Integration in Visual Studio ist lediglich ein weiterer Punkt oben in der Menüleiste von VC++, in der neue Qt-Projekte angelegt werden können, Widgets dazu etc.
Zu zwei: Ich starte die Entwicklungsumgebung über eine mit-installierte Batch-Datei, deren Inhalt wiefolgt aussieht:
Ich hatte eigentlich gedacht, darüber werden die Variablen zu den Qt-Libraries und Includes gesetzt.
Wir besitzen eine Commercial Version von Qt, bei der es Versionen für VC++6, VS2003, VS2005 und VS2008 gibt. Darum kann ich nicht genau sagen woher das Add-In kommt, es war halt dabei.
Hast Du denn schonmal mit der Visual C++ 6.0 gearbeitet und eine DLL entwickelt, die auch Qt "kann" ?
Mfg KK
die Integration in Visual Studio ist lediglich ein weiterer Punkt oben in der Menüleiste von VC++, in der neue Qt-Projekte angelegt werden können, Widgets dazu etc.
Zu zwei: Ich starte die Entwicklungsumgebung über eine mit-installierte Batch-Datei, deren Inhalt wiefolgt aussieht:
Code: Alles auswählen
@echo off
rem
rem This file is generated
rem
echo Setting up a Qt environment...
echo -- QTDIR set to C:\programme\Qt\4.3.3
echo -- Added C:\programme\Qt\4.3.3\bin to PATH
echo -- QMAKESPEC set to win32-msvc
set QTDIR=C:\programme\Qt\4.3.3
set PATH=C:\programme\Qt\4.3.3\bin;%PATH%
set QMAKESPEC=win32-msvc
regedit /e S$D$K$ "HKEY_LOCAL_MACHINE\Software\Microsoft\MicrosoftSDK"
if not exist S$D$K$ goto ENDSDK\r
find "Install Dir" < S$D$K$ > D$I$R$
del S$D$K$
for /f "tokens=2 delims==" %%i in (D$I$R$) do call %%i\setenv
del D$I$R$
:ENDSDK\r
if not "%1"=="vsvars" goto END
call "C:\Programme\Microsoft Visual Studio\VC98\bin\vcvars32.bat"
:END
if not "%1"=="vsstart" goto ENDSTARTVS
call "C:\Programme\Microsoft Visual Studio\VC98\bin\vcvars32.bat"
msdev /useenv
:ENDSTARTVS
Wir besitzen eine Commercial Version von Qt, bei der es Versionen für VC++6, VS2003, VS2005 und VS2008 gibt. Darum kann ich nicht genau sagen woher das Add-In kommt, es war halt dabei.
Hast Du denn schonmal mit der Visual C++ 6.0 gearbeitet und eine DLL entwickelt, die auch Qt "kann" ?
Mfg KK
Zuletzt geändert von KartoffelKiffer am 19. Juni 2009 14:03, insgesamt 1-mal geändert.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich glaube Dir fehlen grundlegende Dinge - nämlich ein bischen Verständnis von der IDE die Du benutzt und Ahnung von Qt -> also fang bitte erstmal mit den Grundlagen an. Vor allem was Qt überhaupt ist und wie man es benutzt. Vor allem qmake.
Die Qt-Integration ist kommerziell. Und da Du so wenig Ahnung von den ganzen ier hast würde ich sagen die hast du nicht legal....
Die Qt-Integration ist kommerziell. Und da Du so wenig Ahnung von den ganzen ier hast würde ich sagen die hast du nicht legal....
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
KartoffelKiffer
- Beiträge: 101
- Registriert: 27. Februar 2008 15:59
Super Support, danke.
Ich nutze die IDE zum Programmieren ettlicher Qt-Applikationen, bisher allerdings nie für eine DLL.
Da ich die IDE wie zuvor auch über die Batch-Datei starte, und das Inkludieren mislingt, ist der Fehler für mich nicht mehr ersichtlich.
Eine IDE ist in den wenigsten Fällen übersichtlich, vor Allem diese alte Version nicht. Darum finde ich die Stelle auch nicht, an der es die Verzeichnisse zu deklarieren gilt, die ich für ein Qt-Programm benötige.
Da ich Probleme speziell mit den Qt-Libraries habe, wende ich mich auch an ein Qt-Forum. Normale c/++-Funktionen laufen in der DLL-Erstellung.
Mfg KK
Ich nutze die IDE zum Programmieren ettlicher Qt-Applikationen, bisher allerdings nie für eine DLL.
Da ich die IDE wie zuvor auch über die Batch-Datei starte, und das Inkludieren mislingt, ist der Fehler für mich nicht mehr ersichtlich.
Eine IDE ist in den wenigsten Fällen übersichtlich, vor Allem diese alte Version nicht. Darum finde ich die Stelle auch nicht, an der es die Verzeichnisse zu deklarieren gilt, die ich für ein Qt-Programm benötige.
Da ich Probleme speziell mit den Qt-Libraries habe, wende ich mich auch an ein Qt-Forum. Normale c/++-Funktionen laufen in der DLL-Erstellung.
Mfg KK
Zuletzt geändert von KartoffelKiffer am 19. Juni 2009 14:03, insgesamt 1-mal geändert.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Wie ich schon sagte - irgendwas passt hier nicht. Und das mit der VS-Integration schon gar nicht...
Wo man das in MSVC6 einstellen kann weiß ich nicht - entweder man erstellt ein .dsp-Projekt per qmake oder sucht sich eben durch msvc6 durch bis man die Einstellungen für den Include-Path findet. Was das mit Qt zu tun haben soll weiß ich aber nicht...
Wo man das in MSVC6 einstellen kann weiß ich nicht - entweder man erstellt ein .dsp-Projekt per qmake oder sucht sich eben durch msvc6 durch bis man die Einstellungen für den Include-Path findet. Was das mit Qt zu tun haben soll weiß ich aber nicht...
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Extras/Optionen/VerzeichnisseKartoffelKiffer hat geschrieben:Darum finde ich die Stelle auch nicht, an der es die Verzeichnisse zu deklarieren gilt, die ich für ein Qt-Programm benötige.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
@ Christian81:
was geht den mit dir ab?
Schenkelsperre zu hause oder was?
"KartoffelKiffer" hat ne einfache Frage gestellt, wenn auch
etwas im falschen Themenbreich. Wobei ich hier auch einiges an der Forumsstruktur auszusetzten hätte.
Das Problem habe ich auch "immer" unter WinOS und VC++.
Man kann nicht <QtGui>, <QtCore> includieren.
sondern immer nur <QtGui/QLabel> <QtCore/QVector>
also mit dem Klassennamen.
Warum das so ist weiß nicht nicht.
Zudem starte ich VC++ nicht über ein skript sondern setze die
Variablen unter "Systemeigenschaften"-> [ Erweitert | -> "Umgebungsvariabeln"
Desweiteren trägt das QtAddon auch die CustomBuildSteps automatisch
von QObject abgleitenten Klassen für das moc`ing ein etc.
gruß moviemax
@ Christian81 PS. 1. unser Qt ist lizensiert. und 2.
spar dir deine Ärger für die ganzen nicht gelöst markierten
gelösten threads auf.
was geht den mit dir ab?
Schenkelsperre zu hause oder was?
"KartoffelKiffer" hat ne einfache Frage gestellt, wenn auch
etwas im falschen Themenbreich. Wobei ich hier auch einiges an der Forumsstruktur auszusetzten hätte.
Das Problem habe ich auch "immer" unter WinOS und VC++.
Man kann nicht <QtGui>, <QtCore> includieren.
sondern immer nur <QtGui/QLabel> <QtCore/QVector>
also mit dem Klassennamen.
Warum das so ist weiß nicht nicht.
Zudem starte ich VC++ nicht über ein skript sondern setze die
Variablen unter "Systemeigenschaften"-> [ Erweitert | -> "Umgebungsvariabeln"
Desweiteren trägt das QtAddon auch die CustomBuildSteps automatisch
von QObject abgleitenten Klassen für das moc`ing ein etc.
gruß moviemax
@ Christian81 PS. 1. unser Qt ist lizensiert. und 2.
spar dir deine Ärger für die ganzen nicht gelöst markierten
gelösten threads auf.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Hier kam offensichtlich jemand an der weder viel Ahnung von msvc6 noch von Qt hat. Allerdings benutzt er die Qt-Integration... wie würdest Du das sehen wenn Du nicht weist wer das ist???
/edit: und das man <QtGui> nicht einbinden kann kann ich mit msvc2005 nicht bestätigen und ist mir auch noch nie untergekommen. Macht man außerdem auch nicht außer man hat zu viel Zeit
/edit: und das man <QtGui> nicht einbinden kann kann ich mit msvc2005 nicht bestätigen und ist mir auch noch nie untergekommen. Macht man außerdem auch nicht außer man hat zu viel Zeit
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
KartoffelKiffer
- Beiträge: 101
- Registriert: 27. Februar 2008 15:59
Endlich, es funktioniert.
Zwei Punkte haben eine Rolle gespielt:
Zum einen hat VC++ die Pfade zu den includes und libraries bei jedem Start vergessen, sodass ich diese per Hand nachtragen muss.
Zum anderen war es der Punkt, den moviemax geschildert hat. Es geht nur mit dem include des Paketes mit Angabe des Klassennamens.
Auch wenn ich mich dessen eigentlich nicht rechtfertigen muss, so kann macman gerne bei mir vorbeischauen und die Lizenz auf dem Firmen-Notebook analysieren. Komme nämlich auch aus Gütersloh. Er kann Dir somit bestätigen, dass es sich um eine gültige Lizenz handelt, und Du kannst wieder ruhig schlafen.
Ich danke für die Hilfe.
Mfg KK
Zwei Punkte haben eine Rolle gespielt:
Zum einen hat VC++ die Pfade zu den includes und libraries bei jedem Start vergessen, sodass ich diese per Hand nachtragen muss.
Zum anderen war es der Punkt, den moviemax geschildert hat. Es geht nur mit dem include des Paketes mit Angabe des Klassennamens.
Auch wenn ich mich dessen eigentlich nicht rechtfertigen muss, so kann macman gerne bei mir vorbeischauen und die Lizenz auf dem Firmen-Notebook analysieren. Komme nämlich auch aus Gütersloh. Er kann Dir somit bestätigen, dass es sich um eine gültige Lizenz handelt, und Du kannst wieder ruhig schlafen.
Ich danke für die Hilfe.
Mfg KK