Muss bei jedem Gerät mein C++ Code neu-compilen?
hey,
Ich habe ein kleines C++ Programm für Linux geschrieben. Ich habe aber das Problem das wenn ich es compile (g++) und es jemanden schicke kommt ein error der sagt das "GCKLB" oder ähnliches 😅 nicht gefunden wurde es aber von meinem Programm erfordert wird. Wenn ich aber es bei den gleichen gerät compile gibt es keine errors und es läuft auch wunderbar. Ich will halt aber nicht meinen source Code leaken. Ich habe auch versucht ein AppImage zu erstellen, kam aber der selbe Fehler.
1 Antwort
Es scheint, als ob das Problem bei der Verwendung von Bibliotheken auftritt, die auf Ihrem System installiert sind, aber nicht auf dem System des Empfängers. Wenn Sie Ihr Programm auf einem anderen System ausführen möchten, müssen Sie sicherstellen, dass alle erforderlichen Bibliotheken auf diesem System installiert sind.Eine Möglichkeit, dies zu tun, besteht darin, statisch zu linken, anstatt dynamisch zu linken. Beim statischen Linken werden alle Bibliotheken in das ausführbare Programm eingebettet, so dass keine externen Bibliotheken erforderlich sind. Dies kann jedoch zu größeren ausführbaren Dateien führen.Um statisch zu linken, müssen Sie die Option "-static" an den Compiler übergeben. Zum Beispiel:
g++ -static -o myprogram myprogram.cpp