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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci d'avance