begin process at 2012 05 30 05:29:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Problème d'utilisation d'une static library, erreur LNK1276


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème d'utilisation d'une static library, erreur LNK1276

vendredi 20 juillet 2007 à 17:00:35 | Problème d'utilisation d'une static library, erreur LNK1276

Servlax

Bonjour, je poste dans la partie "Divers / Débutant(s)" à défaut d'en avoir trouvé une plus adéquate. Excusez-moi par avance si je me trompe d'endroit...

Voici mon problème, à prori simple mais qui me casse la tête depuis des heures. J'ai créé une série de librairies statiques dans une solution Visual Studio 2005. Dans cette même solution, j'ai un projet de "test" qui me permet de tester le fonctionnement de ces librairies. Celles-ci fonctionnent parfaitement en debug comme en release.

Mais un  problème survient lorsque je veux utiliser ces mêmes lib DEPUIS UN AUTRE PROJET (solution). En debug, pas de problème, la lib est reconnue et le résultat est celui attendu. Mais en RELEASE, impossible de compiler ! Je tiens à préciser que l'utilise bien les versions de la lib correspondantes au mode debug et release à chaque fois.

Voici la ligne qui pose problème :

#pragma comment(lib, "../Dossier solution des lib/release/NomDeLaLib.lib")

Le message d'erreur correspondant est :

fatal error LNK1276: invalid directive 'Dossier solution des lib/release/NomDeLaLib.lib' found; does not start with '/'.

En mode DEBUG, avec la ligne qui suit, tout se passe bien :

#pragma comment(lib, "../Dossier solution des lib/debug/NomDeLaLib.lib")

Les headers de la lib sont bien entendus inclus, le problème ne semble pas venir de là.

Y a-t-il des utilisateurs expérimentés ici ayant rencontré un tel problème ? Je précise que j'utilise Visual C++ depuis des mois, et que je n'avais jamais rencontré un tel problème auparavant !

Merci à ceux qui sauront m'indiquer de possibles solutions ...

vendredi 20 juillet 2007 à 17:42:44 | Re : Problème d'utilisation d'une static library, erreur LNK1276

juju12

Ca doit être dans les options différentes entre DEBUG et RELEASE en ce qui concerne les dossiers de link pour les lib. T'as essayé de taper le chemin en entier?
vendredi 20 juillet 2007 à 20:29:45 | Re : Problème d'utilisation d'une static library, erreur LNK1276

Servlax

Réponse acceptée !
Merci pour votre suggestion juju12.

Toutefois, votre conseil ne s'avère pas efficace, puisque le fichier en question est bien trouvé par le compilateur (il suffit d'altérer le nom pour constater que le message d'erreur change).

En fait, des heures de tests et de lectures intensives ont révélé que les "#pragma comment(lib, ...)" NE SONT PAS la solution préconisée par Microsoft pour l'inclusion de librairies tierces dans les projets. Je vous donne ici la marche à suivre officielle pour ceux qui tomberaient sur la même erreur (avec un peu de chance cette page sera référencée par Google, fournissant une solution en moins de 2 min) :

Il faut, dans les propriétés de votre projet (du moins sous Visual Studio 2005), vous rendre sous Configuration Properties, puis sous Linker, puis sous Input. Dans le panneau de droite, il suffit d'ajouter dans Additional Dependencies, entre double guillements le chemin complet ou relatif vers le ou les fichiers lib nécessaires à votre projet. Prenez garde de bien choisir dans Configuration (en haut à gauche dans la fenêtre de propriétés), le mode (debug ou release) correspondant à celui des lib, sans quoi le comportement de ces dernières risque d'être imprévisible (buffer overrun, invalid pointers, etc).

Une fois ces quelques manipulation, finalement très simples à effectuer si on les connait, le comportement de votre programme sera uniforme quelque soit le mode choisi. Malheureusement très peu de sites expliquent ceci (il faut fouiller dans la MSDN bien longtemps...).


Cette discussion est classée dans : problème, solution, debug, release, lib


Répondre à ce message

Sujets en rapport avec ce message

CRC - Problème avec génération de solution en release [ par lolo_yeager ] Bonjour,J'utilise un logiciel (F-CRC Calculator) qui me calcul le CRC des éxecutables que j'ai géneré en release. Mais je viens de m'appercevoir d'une problème de lib avec fmd [ par hyogadecygnus ] j'ai un problème de .lib avec fmod...en effet voici mon code tout simple: ////////////////////////////////////////////////////////////////////////// Debug | Release [ par 3psilon ] Slt,J'aurais aimer avoir quelques informations sur les modesdebug et release de VC 6.J'ai bien compris que, en mode debug, le compilo ajoute des infor tri listview ( debug - release ) [ par 3psilon ] Bonjour a tous,J'explique mon probleme :A titre pédagogique, j'ai crée une application (sans mfc avec VC 6), ou j'ai crée des listviews.Je rempli les Etrange :o [ par Joky ] Ho ho ho ! :) Salut tous ;) Un soucis étrange encore une fois :) Voilà j'ai compiler mon projet dans les 2 modes disponibles :     - Debug     - Rele problème avec borland [ par tibob51 ] Bonjour,j'utilise borland 3 et j'ai un problème avec pour instaler la sdl,le compilo me retourne l'erreur suivante:[LinkerError] 'D:\PROGRAM FILES\BOR Visual C++ sous vista [problème de debug] [ par bouks69 ] bonjour,voila je viens de passer hier sous vista, afin de tester les divers outils de mon entreprise (vérifier le bon fonctionnement, etc...) et me su Problème avec dll croisées [ par basic_meu ] Bonjour !Je suis actuellement en train de développer une application qui compporte (entre autres) une dll.D'ordinaire ce genre de librairie ne me pose Problème de symbole externe. [ par matt22 ] Bonjour à tous.j'ai un petit problème de configuration de ms visual c++.je n'arrive pas à faire les bons lien pour compiler sans problème.j'utilise da Problème de Debug et d'Execution(Compilation) [ par Maiku ] SalutJe veux faire une Bibliothèque de Classe C++ sous Visual Studio.Net.J'ai donc Fait New Project / Class LibraryJe Commence mon projet mais quand j


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales