Bonjour à tous,
Si je crée une libma.a peut -elle être cherché automatiquement par le compilateur?
À part le fait de la mettre dans le même dossier que le fichier c , qu'elle est la procédure pour que cela soit?
Merci de votre attention,
JPD
Bonjour à tous,
Si je crée une libma.a peut -elle être cherché automatiquement par le compilateur?
À part le fait de la mettre dans le même dossier que le fichier c , qu'elle est la procédure pour que cela soit?
Merci de votre attention,
JPD
Il suffit de mettre les fichiers dans les dossiers du système du compilateur, à côté des fichiers de la lib C.
Mais je ne trouve pas qu'il s'agisse d'une bonne pratique, ça revient à polluer la lib C avec ta lib.
Tu peux limiter la pollution en mettant un dossier pour ta lib au lieu des fichiers en loose, il me semble que certains libs ou IDE faisaient ainsi (Dev-Cpp il y a 15 ans)
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Sinon tu devrais aussi pouvoir ajouter le dossier de ta lib dans le path utilisé par le compilo, probablement dans une variable système.
Ou créer et utiliser ton propre path, comme Boost fait il me semble.
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Effectivement , l'option sur gcc est -L/path/lib pour lui indiquer un autre path ou se trouve ta lib (il suffit ensuite juste de faire -lmalib )
/usr/lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld*: ne peut trouver -llibma.a
collect2: error: ld a retourné le statut de sortie 1
Est-ce que ça veut dire:
/usr/lib/gcc/x86_64-w64-mingw32/7.3.0
/../../../../x86_64-w64-mingw32/bin/ld: ne peut trouver -llibma.a dans le dossier 7.3.0 ?
Il y est.
JPD
a priori, c'est -lma.
/usr/lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld est le path d'exécution de ld, le linker
Et oui si ton fichier s'appelle libma.a alors ta lib s'appelle ma et pour la lier c'est -lma
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
J'ai refait le fichier qui était corrompu , sait pas pourquoi.
ar -crs libkko.a fichiers.so
Tout baigne.
Merci
JPD
Partager