Bonjour,
J'ai réalisé un programme c++ qui fonctionne à merveille et qui nécessite une librairie. Sous eclipse pas de problème sa compile et sa sort l'exécutable.
J'ai besoin d'appeler ce fichier via php avec la commande exec() j'ai donc copier la librairie en .dll dans le dossier de l'exécutable et sa marche parfaitement.
Cependant je doit maintenant placer ces fichier sur un serveur linux. Je doit donc recompiler ma librairie et mon programme, malheureusement la librairie refuse de compiler avec des erreurs en sortie de répertoire ... Bref j'ai donc réussi à la compiler sous Windows via MinGW qui simule une interface linux et j’obtiens un jolie fichier en .a .
J'ai donc envoyer mes sources ainsi que le fichier .a sur le serveur linux et j'ai créer un makefile, cependant il n'inclue pas la librairie automatiquement. J'ai donc cherché si il y avait moyen d'inclure la librairie dans le makefile et c'est apparemment possible avec les option -L et -l. Par contre je ne comprend pas du tout comment c'est fait ... Honte à moi on m'a appris uniquement à faire des makefile "minimaliste" et j'aurais donc souhaité savoir si il était possible d'inclure une librairie dans ce type de makefile ou si je devais étudier la façon de faire un makefile avec des variables comme j'ai pu en trouvé pour inclure la librairie. ( http://gl.developpez.com/tutoriel/outil/makefile/ )
Voici mon makefile actuel, on sait jamais dès fois que sa puisse vous aider :
L'erreur renvoyée est la suivant :
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 FireScan.out : Connection.o FireScanError.o FonctionHexa.o Information.o Scan.o FunctionModBusFinsecur.o Main.o gcc Connection.o FireScanError.o FonctionHexa.o Information.o Scan.o FunctionModbusFinsecur.o Main.o Main.o : Connection.h Scan.h FunctionModBusFinsecur.h FireScanError.h Information.h Main.cpp gcc -c Main.cpp Connection.o : FireScanError.h Connection.h Connection.cpp gcc -c Connection.cpp FireScanError.o : FireScanError.h FireScanError.cpp gcc -c FireScanError.cpp FonctionHexa.o : FonctionHexa.h FonctionHexa.cpp gcc -c FonctionHexa.cpp Information.o : FunctionModbusFinsecur.h Connection.h Information.h Information.cpp gcc -c Information.cpp Scan.o : Connection.h FonctionHeca.h Scan.h Scan.cpp gcc -c Scan.cpp FunctionModBusFinsecur.o : FunctionModBusFinsecur.h FunctionModbusFinsecur.cpp gcc -c FunctionModbusFinsecur.cpp
Merci d'avance pour vos conseil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 gcc -c Connection.cpp In file included from Connection.cpp:8: Connection.h:11: fatal error : modbus.h : Aucun fichier ou dossier de ce type compilation terminated. make: *** [Connection.o] Erreur1![]()
Partager