Bonjour,
J'ai cr�er une librairie qui utilise les librairie tinyxml et libjpeg.
Ayant seulement envie d'int�grer et de distribu� ma librairie j'ai decid� de faire la chose suivant:
Je compile tinyxml en static
Je compile libjpeg en static
Puis je compile malib en dynamic en incluant les versions deux autres librairies:
Sous MinGW les commandes pour linker donnent:
C:\MinGW\bin\ar.exe cr ..\lib\libtinyxml.a tinystr.cpp.obj tinyxml.cpp.obj \tinyxmlerror.cpp.obj tinyxmlparser.cpp.obj
C:\MinGW\bin\ranlib.exe ..\lib\libtinyxml.a
meme chose pour jpeg
C:\MinGW\bin\gcc.exe -shared -o bin\malib.dll -Wl,--out-implib,lib\malib.dll.a -Wl,--major-image-version,1,--minor-image-version,0 obj1.o obj2.o obj3.o 3rdparty\lib\liblibjpeg.a 3rdparty\lib\libtinyxml.a
Au final quand je cr�er mon programme je doit utiliser:
C:\MinGW\bin\g++.exe -Wall main.cpp.obj -o bin\AdVisOr.exe -Wl,--out-implib,lib\libAdVisOr.dll.a -Wl,--major-image-version,0,--minor-image-version,0 lib\malib.dll.a 3rdparty\lib\liblibjpeg.a 3rdparty\lib\libtinyxml.a
alors que j'aimerais ne pas avoir a inclure 3rdparty\lib\liblibjpeg.a 3rdparty\lib\libtinyxml.a, car du coup cela me d�savantage de devoir inclure de nouveaux les librairies static.
Je ne trouve pas grand chose sur le Web et j'utilise Cmake pour la compilation.
Partager