Erweiterung eines bestehenden Programms
-
Dieser Beitrag wurde gelöscht!
-
Welches GUI-Framework wird denn dort verwendet (z.B. Qt, wxWidgets, WinAPI)?
Evtl. mal in den Projekteinstellungen schauen, was dort alles unter "Linker" zu finden ist.
-
@Th69 soweit ich weiß qt4
-
Da sollte aber eine
main
-Funktion vorhanden sein.
Hast du denn auch.qml
-Dateien bei deinem Projekt? Dann handelt es sich um Qt Quick.Evtl. wird auch eine weitere Library verwendet, welche bestimmte Teile (wie die
main
-Funktion) beinhaltet? Das würde auchoverride
erklären (die mit C++11 eingeführt wurden und - soweit ich weiß - erst mit Qt4.8 unterstützt wird).Könntest du das Projekt auf einem Share zur Verfügung stellen? Oder wenigstens eine Auflistung der enthaltenen Dateinamen (bzw. noch besser gleich den Inhalt der
.pro
-Datei).PS: Die Entwickler-Doku zu Qt4 gibt es unter Qt 4.8 (d.h. das letzte Release vor Qt5).
-
Dieser Beitrag wurde gelöscht!
-
@bla1027 sagte in Erweiterung eines bestehenden Programms:
TEMPLATE = lib
In einer lib gibt es keine nain funktion.
-
@manni66 Muss ich jetzt nicht verstehen?:D Kann auch sein dass das die falsche .pro Datei ist, die .cpp Datei heißt nämlich anders. Ich finde aber keine weitere .pro Datei
-
Dies ist dann nur die Projektdatei für eine Programmbibliothek, d.h. keine eigenständig ausführbare Anwendung, sondern diese muß dann noch zu einem anderen Projekt hinzugelinkt werden. Das scheint ja auch kein reines Qt-Projekt zu sein, denn es werden dort noch eine Menge anderer (mir unbekannter) Libs hinzugelinkt (
slgfw
,slgfwwidget
, ... ,i_lib
).Dann solltest du dich mal an deinen Betreuer wenden.
Welche IDE verwendet du denn und kannst du das Projekt dort denn fehlerfrei kompilieren?
-
@Th69 ich benutze visual Studio 2008 in einer speziellen Version von Siemens. Zusätzlich muss ich zum starten des Programms ein weiteres "HMI-Programm" starten. Wenn ich das aber mit der IDE öffne, kommt da leider kein Quellcode raus. Die Dir unbekannten Libs sind Firmenintern selbst geschriebene bzw Libs von Siemens.
Wie kann ich denn herausfinden wo die hingelinkt werden?
-
Ich kenne nur den Weg, wie unter How to create a library with Qt and use it in an application beschrieben, d.h. es werden bei VS eine
.lib
und eine.dll
erstellt, welche dann von dem App(lication)-Projekt gelinkt werden muß.Wie das aber bei eurer Siemens-Umgebung funktioniert, da habe ich (und wahrscheinlich auch die meisten anderen User hier) keine Ahnung.
Es könnte aber sein, daß die DLL per Name dem "HMI-Programm" bekannt gemacht wurde (z.B. über eine Konfigurationsdatei) und diese dann wie in dem Link oben unter "Using QLibrary to load the shared library" eingebunden wird (dies nennt man dann auch "dynamisches Laden einer Library").
-
@Th69 Heißt ich müsste aber irgendwo noch ein Programm haben in dem die Libs eingebunden werden und in dem auhc eine main()-Fkt steht?
Trotzdem vielen Dank, das hat schon relativ viel zum Verständnis beigetragen.