Hallo,
ich bin grad beim weiterbilden von meinen doch noch recht geringen QT-Kenntnissen.
Bisher habe ich immer an vorbereiteten Projekten weiter gearbeitet und mußt mich daher um so dinger wie das einbinden von Lib's nicht kümmern.
Nun muß ich das aber selber machen und bleib bereits am Anfang hängen.
Ich benutze VS2008. Ich habe mir eine kleine Versuchs-Lib geschrieben, die nichts weltbewegendes macht. Nur die Farbe eines Buttons beim drücken ändern.
Die lib hab ich nun geschrieben.
Die Frage ist nun wie ich meiner Applikation im VS2008 die Lib bekannt mache. Also wo wird sie eingebunden und wie angesprochen.
Das die Lib dann später in die pro - Datei kommt müßte ja das QT Addin für Visual Studio erledigen oder?
Vielen Dank im voraus
Felix
lib einbinden in VS2008 in eine QT - Applikation
Die lib must du in der *.pro datei deiner anwendung eintragen, kann mir nicht vorstellen, das das von visual studio übernommen wird.
Hier wäre ein beispiel.
Am einfachsten aber läuft das so ab:
*.pro datei deines programms
Also als beispiel:
//EDIT: Danke christian für den hinweis, hab das komplett übersehen.
Hier wäre ein beispiel.
Am einfachsten aber läuft das so ab:
*.pro datei deines programms
Code: Alles auswählen
TARGET = Testprogramm
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
/*
...
...
...
*/
unix:
{
INCLUDEPATH = [pfad_wo_die_header_liegen] \
[noch_ein_pfad_wo_header_liegen]
# -L (grosses L)
LIBS += -L[pfad_wo_die_lib_liegt]
# -l (kleines L)
LIBS += -l[name_der_lib_ohne_datei_endung]
}
win32:
{
INCLUDEPATH = [pfad_wo_die_header_liegen] \
[noch_ein_pfad_wo_header_liegen]
LIBS += [pfad_wo_die_lib_liegt_inkl_lib_name]
}
Code: Alles auswählen
unix:
{
# falls leerzeichen im pfad enthalten sind $$quote verwenden
#LIBS += $$quote(-L/home/my_user/development/include files/TestLib1/)
INCLUDEPATH = /home/my_user/development/includes/TestLib1/ \
/home/my_user/development/includes/TestLib2/
LIBS += -L/home/my_user/development/includes/TestLib1/
LIBS += -lMyTestLib1
LIBS += -L/home/my_user/development/includes/TestLib2/
LIBS += -lMyTestLib1
}
win32:
{
# falls leerzeichen im pfad enthalten sind $$quote verwenden
#LIBS += $$quote(c:\my_user\development\include files\TestLib1\MyTestLib1.lib)
INCLUDEPATH = c:\my_user\development\includes\TestLib1\ \
c:\my_user\development\includes\TestLib2\
LIBS += c:\my_user\development\includes\TestLib1\MyTestLib1.lib
LIBS += c:\my_user\development\includes\TestLib1\MyTestLib2.lib
}
Zuletzt geändert von Mani99 am 22. November 2010 15:51, insgesamt 2-mal geändert.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Achtung - Windows mit MSVC und nicht Linux 
Also: http://doc.trolltech.com/4.6/qmake-vari ... .html#libs
Also: http://doc.trolltech.com/4.6/qmake-vari ... .html#libs
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Hallo,
prinizipell klar, die lib muß ins pro file, aber mein pro File wird jedes mal beim Build vorgang neu erstellt, muß ich da einen compile Step anpassen? Oder bleibt das was ich dazu packe wenn es richtig ist drin?
Aber das ist ja nur die Compiler oder linker info, wei mache ich das ganze dann in MVS08 (mit QT Addon 1.1.7) bekannt .
mfg
Felix
prinizipell klar, die lib muß ins pro file, aber mein pro File wird jedes mal beim Build vorgang neu erstellt, muß ich da einen compile Step anpassen? Oder bleibt das was ich dazu packe wenn es richtig ist drin?
Aber das ist ja nur die Compiler oder linker info, wei mache ich das ganze dann in MVS08 (mit QT Addon 1.1.7) bekannt .
mfg
Felix
Wenn du qmake -project aufrufst, sind die einstellungen weg!bierber hat geschrieben: prinizipell klar, die lib muß ins pro file, aber mein pro File wird jedes mal beim Build vorgang neu erstellt, muß ich da einen compile Step anpassen? Oder bleibt das was ich dazu packe wenn es richtig ist drin?
Wie meinst du das, bzw. was meinst du genau?Aber das ist ja nur die Compiler oder linker info, wei mache ich das ganze dann in MVS08 (mit QT Addon 1.1.7) bekannt .
OK , das meinte ich muß ich mal die Doku wühlen was ich einstellen muß das das nicht passiert.bierber hat Folgendes geschrieben:
prinizipell klar, die lib muß ins pro file, aber mein pro File wird jedes mal beim Build vorgang neu erstellt, muß ich da einen compile Step anpassen? Oder bleibt das was ich dazu packe wenn es richtig ist drin?
Wenn du qmake -project aufrufst, sind die einstellungen weg!
Die Frage ist wie ich das der IDE bekannt mache mit include oder Using namespace oder etc. Irgendwie muß ich dem MSC++ doch sagen, das es ab jetzt mit der lib arbeiten soll und dem entsprechend auch seine Intellisense usw anpassen.Zitat:
Aber das ist ja nur die Compiler oder linker info, wei mache ich das ganze dann in MVS08 (mit QT Addon 1.1.7) bekannt .
Einfach qmake -project bleiben lassen. Diese -project-Option ist zum initialien Erstellen eines project-files gedacht. Später wirst du nur "qmake" oder "qmake mein_projekt.pro" aufrufen, um ein neues Makefile zu bekommen.bierber hat geschrieben:OK , das meinte ich muß ich mal die Doku wühlen was ich einstellen muß das das nicht passiert.Wenn du qmake -project aufrufst, sind die einstellungen weg!
Einfach die header files der klassen in der lib mit #include einbinden! Mit INCLUDEPATH im pro file hast du ja angegeben wo diese zu finden sind!bierber hat geschrieben:Die Frage ist wie ich das der IDE bekannt mache mit include oder Using namespace oder etc. Irgendwie muß ich dem MSC++ doch sagen, das es ab jetzt mit der lib arbeiten soll und dem entsprechend auch seine Intellisense usw anpassen.