J'utilise des bibliothèques OpenSceneGraph dans mon application et je veux les lier statiquement, donc je n'ai pas besoin de transporter des DLL avec des binaires. J'ai téléchargé les sources OpenSceneGraph 3.4.0 et généré le projet Visual Studio par cmake. J'ai désactivé DYNAMIC_OPENSCENEGRAPH
et DYNAMIC_OPENTHREADS
dans cmake GUI. Après cela, j'ai réussi à compiler OSG et avoir des bibliothèques statiques (.lib). Dans mon application, j'ai ajouté des répertoires d'inclusion et de bibliothèque dans project properties -> VC++ Directories -> Include Directories
& Library Directories
(j'utilise Visual Studio 2013 en passant). Je répertoire aussi ajouté avec de .lib dans les OSG Linker -> General -> Additional Library Directories
et saisi toutes libs nécessaires à Linker -> Input -> Additional Dependencies
:Relations externes non résolues sur la liaison statique Bibliothèques OpenSceneGraph dans Visual Studio
ot20-OpenThreads.lib
osg130-osg.lib
osg130-osgUtil.lib
osg130-osgGA.lib
osg130-osgDB.lib
osg130-osgViewer.lib
osg130-osgText.lib
opengl32.lib
osgdb_3ds.lib
osgdb_freetype.lib
osgdb_png.lib
Et je suis toujours à obtenir des erreurs non résolues externals pour les symboles de l'OSG. J'ai également essayé de mettre General -> Character Set
à Unicode mais cela n'a pas aidé (dans le projet OSG généré par cmake j'ai le Caractère Multi-Byte de toute façon). Je n'ai aucune idée de comment résoudre cela maintenant, c'est la première fois que je compile une application avec des bibliothèques liées statiques.
J'apprécierais vraiment toute aide.
P.s. Désolé pour aucun code, je ne peux pas le fournir mais j'essaye de donner autant de détails que je peux. Avec la liaison dynamique, je peux créer mon application sans aucun problème.