Compilation statique, les bibliothèques ne suivent pas
Bonjour,
J'ai un programme qui tourne bien et qui se compile parfaitement mais afin d'éviter de devoir distribuer le programme et demander l'installation des bibliothèques, pour les néophytes, je souhaite compiler en statique.
Malheureusement je ne trouve pas énormément d'information sur internet et mes connaissances en c++ sont un peu maigres surtout sur les makefiles.
Lors de la compilation de l'exécutable j'ai rajouté l'option -static mais la compilation me retourne l'erreur suivante :
Code:
1 2 3 4
| /usr/bin/ld: cannot find -lsqlite3
/usr/bin/ld: cannot find -lmodbus
collect2: ld returned 1 exit status
make: *** [FireScanFinal.out] Erreur 1 |
Je tiens à préciser que le programme compile parfaitement en mode non statique, je pense que le problème vient donc de mon makefile que voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| FireScanFinal.out : base64.o Historique.o SMS.o Mail.o Main.o Connection.o FireScanError.o FonctionHexa.o Information.o Scan.o FunctionModbusFinsecur.o Enregistrement.o Ecriture.o Comptes.o blowfish.o blowFishWrapper.o BD.o Limitations.o
g++ -static -lsqlite3 -lmodbus base64.o Historique.o SMS.o Mail.o Main.o Connection.o FireScanError.o FonctionHexa.o Information.o Scan.o FunctionModbusFinsecur.o Enregistrement.o Ecriture.o Comptes.o blowfish.o blowFishWrapper.o BD.o Limitations.o -o scanSec
Main.o : Mail.h Limitations.h BD/BD.h Connection.h Scan.h FunctionModbusFinsecur.h FireScanError.h Information.h Ecriture.h Enregistrement.h BD/sqlite3.h Main.cpp
g++ -c Main.cpp -lmodbus
Connection.o : modbus.h FireScanError.h Connection.h Connection.cpp
g++ -c -lsqlite3 Connection.cpp
FireScanError.o : FireScanError.h FireScanError.cpp
g++ -c FireScanError.cpp
FonctionHexa.o : FonctionHexa.h FonctionHexa.cpp
g++ -c FonctionHexa.cpp
Information.o : modbus.h FunctionModbusFinsecur.h Connection.h BD/BD.h Information.h Information.cpp
g++ -c -lsqlite3 Information.cpp
Scan.o : Connection.h FonctionHexa.h FireScanError.h BD/BD.h BD/sqlite3.h modbus.h Scan.h Scan.cpp
g++ -c -lsqlite3 Scan.cpp
FunctionModbusFinsecur.o : FunctionModbusFinsecur.h FunctionModbusFinsecur.cpp
g++ -c FunctionModbusFinsecur.cpp
Enregistrement.o : BD/sqlite3.h Blowfish/blowFishWrapper.h FunctionModbusFinsecur.h stdafx.h Enregistrement.h Enregistrement.cpp
g++ -c Enregistrement.cpp
Ecriture.o : Connection.h Ecriture.h Ecriture.cpp
g++ -c -lsqlite3 Ecriture.cpp
Comptes.o : BD/sqlite3.h BD/BD.h Blowfish/blowFishWrapper.h Comptes.h Comptes.cpp
g++ -c Comptes.cpp
blowfish.o : Blowfish/blowfish.h Blowfish/blowfish.h2 Blowfish/blowfish.cpp
g++ -c Blowfish/blowfish.cpp
blowFishWrapper.o : Blowfish/blowFishWrapper.h Blowfish/blowFishWrapper.cpp
g++ -c Blowfish/blowFishWrapper.cpp
BD.o : Connection.h BD/sqlite3.h BD/BD.h BD/BD.cpp
g++ -c -lsqlite3 BD/BD.cpp
Limitations.o : BD/BD.h Blowfish/blowFishWrapper.h BD/sqlite3.h Limitations.h Limitations.cpp
g++ -c Limitations.cpp
Mail.o : BD/BD.h Blowfish/blowFishWrapper.h Mail.h Mail.cpp
g++ -c Mail.cpp
SMS.o : BD/sqlite3.h BD/BD.h SMS.h SMS.cpp
g++ -c -lsqlite3 SMS.cpp
Historique.o : BD/sqlite3.h BD/Historique.h BD/Historique.cpp
g++ -c -lsqlite3 BD/Historique.cpp
base64.o : Blowfish/base64.h Blowfish/base64.cpp
g++ -c Blowfish/base64.cpp |
J'ai également essayer de rajouter l'option -static à chaque ligne utilisant une bibliothèque puis à toutes les lignes mais le résultat est toujours le même.
Si quelqu'un peut me donner un coup de pouce :ccool:
Merci d'avance :kiss: