|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : mars 2007 Messages : 32 ![]() |
Bonjour,
j'ai un souci de Link... En effet pour un projet multiplateforme (Linux, Mac) en C++ il a été intéressant (cf changement de plateforme, IDE etc) d'utiliser CMake. Comme la librarie choisit est la SFML et qu nous n'avions pas de souci pour lancer des projets sur les différentes plateformes séparément on aurait pu croire que passer a CMake serait facile, mais.. Si lier une lib sur linux est d'une limpidité sans pareil pour moi (-I /usr/include/SFML... et dossier de lib /usr/lib/) j'ai été impressioné par mon incapacité à le faire sur Mac. Sous mac, on peut apparemment mettre les lib proprement en partagé entre les user de la même facon que sur une plateforme UNIX, mais on peut aussi utiliser des FrameWorks. C'est super a priori les Framework, mais je suis incapable de lier la dite lib (j'ai essayé /Librairy/Frameworks/ comme dossier, mais ca ne suffit pas) Comment fait-on SVP ?? merci d'avance |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 252 ![]() |
Citation:
vous pouvez vous amuser à le faire mais ce n'est pas nécessaire… et pour faire un Framework correctement, vous avez tout intérêt à utiliser XCode… un Framework est un bundle qui doit respecter une structure bien précise de dossiers et sous-dossiers… vous devez par contre réfléchir à la problématique d'installation sur la machine du client : soit vous fournissez un installateur qui copiera la librairie là où votre programme s'attend à la trouver (/usr/lib/… (… mauvaise idée en passant…) ou /usr/local/lib par exemple…) soit si votre application est elle-même packagée comme un bundle .app vous décidez d'inclure la librairie dans le bundle de l'application (myapplication.app/Resource/lib par exemple…), vous devez alors ajouter dans votre Makefile une étape de copie de la librairie à cet endroit… |
|
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : mars 2007 Messages : 32 ![]() |
Bonjour,
Merci pour la réponse déja, mais j'ai du mal la poser.. Je ne cherche pas à installer cette librarie elle est déjà correctement installé, elle est externe, enfin pas de problème de ce coté. Mon problème c'est de la linker lors de la compilation de mon projet qui utilise cette librairy. Le problème est donc de réussir à linker sur Unix les fichier venant de /usr/inlude et /usr/lib et d'un autre coté sur mac la meme librairie mais qui est installée sous forme de framework cette fois. Le tout dans un fichier CMakeList Merci d'avance |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 252 ![]() |
Citation:
pour les frameworks : -framework -F et pour l'OS/hardware cible -arch -isysroot -mmacosx-version-min sont des flags spécifiques à l'environnement Mac… |
|
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : mars 2007 Messages : 32 ![]() |
Re-bonjour
merci beaucoup. Par contre, utiliser le framework avec gcc, meme si ca m'intéresse, ne me dit pas comment l'intégrer à CMakeList. Mon problème est que je sais compiler indépendamment sur les deux plateforme, mais je veux configurer tout ca pour que le CMakeList puisse gérer cette liaison de lib tout seul et qu'il génère les makefile en fonction. Merci encore |
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : mars 2007 Messages : 32 ![]() |
Bon, juste au cas où,
je n'ai toujours pas trouvé comment lier le framework sfml avec le cmakelist.txt merci d'avance |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com