Forum: PC-Programmierung Libraries finden und einbetten


von Maik (radamos)


Lesenswert?

Hallo,
ich versuche ein einfaches und Fertiges Projekt im QT zu erstellen.

https://github.com/seisgo/QtPythonEmbedding

Allerdings bekomme ich Probleme mit den Libraries. Ich kann nicht alle 
Libraries finden weder im Internet noch auf dem Rechner. DIe Fehlenden 
Dataien sind ldl und lrt.

Außerdem ist der Includepath für Linux geschrieben. Ich habe den Path 
für Windows geändert. Ist dieser richtig angegeben? Im folgenden meine 
Projektdatei.

#-------------------------------------------------
#
# Project created by QtCreator 2019-02-11T15:46:26
#
#-------------------------------------------------

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = qtPythonTest
TEMPLATE = app
CONFIG += no_keywords
INCLUDEPATH += -I "C:\Program Files\Python38\include"/
LIBS += -L "C:/Program Files/Python38/libs" \
        -lpython3 -lpthread -ldl -lrt -lUtils -lm  -Xlinker 
-export-dynamic
QMAKE_CXXFLAGS +=   -Wsign-compare \
                    -march=nocona \
                    -ftree-vectorize \
                    -fPIC \
                    -O3 \
                    -pipe \
                    -DNDEBUG \
                    -fwrapv \
                    -O3 -Wall

SOURCES += main.cpp\
    pyrun.cpp

HEADERS  += pyrun.h

FORMS    +=

OTHER_FILES += runtest.py

von Εrnst B. (ernst)


Lesenswert?

Und an dem Problem bist du seit Februar 2019 dran? Respekt.

Du hast die Linker-Anweisung vmtl. irgendwo aus dem Internet kopiert, 
aus einem Projekt was für Linux/Unix war, oder?

Unter windows brauchst du da andere Optionen.

Glücklicherweise kann dir Python selber sagen, welche.

Versuch mal
>> python3-config --libs

und --includes, --cflags, --ldflags

Die Ausgaben musst du jeweils in dein .pro einbauen.
Oder du änderst das .pro, dass es selber python3-config ausführt, und 
die Ausgabe direkt verwendet, aber das ist dann was für 
Fortgeschrittene.

von Émile (Gast)


Lesenswert?

Maik schrieb:
> DIe Fehlenden Dataien sind ldl und lrt.

Nein. Dir fehlen libdl.a und librt.a

von Maik (radamos)


Lesenswert?

Dankeschön euch beide. Mit den Infos kann ich etwas anfangen. Und ja ich 
bin neu ;-) dabei etwas dazu zu lernen.

von Εrnst B. (ernst)


Lesenswert?

Émile schrieb:
> Nein. Dir fehlen libdl.a und librt.a

Um auf einem Windows-System beim Erstellen eines Windows-".EXE"-Binaries 
die python3.dll dazuzulinken? Eher nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.