Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   QtCreator (C++): Bibliothek einbinden? (https://www.delphipraxis.net/155970-qtcreator-c-bibliothek-einbinden.html)

implementation 15. Nov 2010 13:51

QtCreator (C++): Bibliothek einbinden?
 
Ich beschäftige mich nun neuerdings mit C++-Programmierung mithilfe des Qt Creators und muss zuallererst einige Grundlagen verstehen.

Ich habe nun eine kleine dynamische Bibliothek geschrieben.
Wie binde ich diese nun in eine Anwendung ein?

Projektoptionen u.ä. hab ich schon abgesucht.
Einfach den Header includen kann ich nicht, wird nicht gefunden.

Muss ich irgendwelche Suchpfade anpassen oder die qmake-Datei?

Hisoka 15. Nov 2010 23:03

AW: QtCreator (C++): Bibliothek einbinden?
 
Qt ist etwas anders als andere APIs. Es lädt alle libs zur laufzeit. Du kannst dafür einen Suchpfad hinzufügen.

Guck mal in der Doku unter QCoreApplication::addLibraryPath . Ansonsten sollte sich dort auch was allgemein finden lassen wenn du nach "library" suchst. z.B. QLibrary was auch interessant sein kann.

Ansonsten funktioniert auch die klassische variante. Dazu musst du deine Projekt Datei(.pro) editieren

Für Include Dateien
INCLUDEPATH+=C:\....
Für die Libs:
LIBS+=C:\...

Quelle: http://stackoverflow.com/questions/7...reator-project

GBunge 30. Okt 2011 10:47

AW: QtCreator (C++): Bibliothek einbinden?
 
Hallo Hisoka,
mein aktuelles Betriebssystem ist Mac OS X.
Seit ein paar Tagen benutze ich Qt-Creator. Vorher habe ich es ohne viel Erfolg mit XCode versucht.


Eine dynamisch zu linkende Bibliothek habe ich damit programmiert.
Die Bibliothek und die Header-Dateien stehen unter "/usr/local/include" und "/usr/local/lib".

Nun möchte ich in einem Testprogramm Funktionen dieser Library aufrufen.
Da ich mit Deinem Hinweis auf "QLibrary" nicht viel anfangen konnte, habe ich das *.pro File editiert.
Code:
INCLUDEPATH += /usr/local/include
LIBS += /usr/local/lib
Das Testprogramm kompiliert kommt nun ein Fehler:
Code:
in /usr/local/lib, can't map file, errno=22 for archetecture x86_64
collect2: ld returned 1 exit status
Unter Ubuntu-Linux habe ich diese Library bereits benutzt. Dort habe ich mit Hilfe von
KDevelop programmiert.

Nun komme ich nicht weiter, weil ich nicht weiß, wie der Name der Library in den Qt-Creator oder
in das Testproramm hinein kommt.

Hoffentlich liest Du Deine alten Beiträge gelegentlich noch mal.

Mit freundlichen Grüßen
GBunge

mkinzler 30. Okt 2011 11:01

AW: QtCreator (C++): Bibliothek einbinden?
 
Erzeuge die Lib mal auf dem Mac neu.

GBunge 31. Okt 2011 10:22

AW: QtCreator (C++): Bibliothek einbinden?
 
Hallo mkinzler,
gerade habe ich Deinen Beitrag gelesen.
Zitat:

Zitat von mkinzler (Beitrag 1133548)
Erzeuge die Lib mal auf dem Mac neu.

OK, das habe ich bereits gemacht und Library und Headerfiles nach /usr/local/lib und ../include kopiert.
Durch einen Hinweis aus dem Forum auch entlich in der Qt-Creator-Hilfe gefunden, wie man eine dynamische Bibliothek einbindet.
Nach dem Kompilieren läuft das Programm. Wenn ich dann allerdings eine Funktion aus der Library aufrufe, crasht das Programm.
Ein Dialog erscheint, der anzeigt was alles an Apple gesendet wird, wenn man das Programm neu startet.
Aus diesen Angaben kann ich aber keine Schlüsse ziehen.
Woran kann es liegen?
Die Funktion aus der Library ist unter Ubuntu-Linux im Einsatz.

Mit freundlichen Grüßen GBunge


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz