Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ODE : link errors à la compilation [ Windows / Multimédia ] (Tibabou)

samedi 8 décembre 2007 à 20:22:59 | ODE : link errors à la compilation

Tibabou

Bonjour,

    Je souhaite utiliser ODE dans un programme. Malheureusement, la compilation pose problème (j'utilise Visual C++ 6 et je suis sous windows XP).
J'inclus le header de ODE :

#include <ode/ode.h>


J'ajoute dans Projects / Settings / Link la lib ode.lib.

Linking...
ode.lib(collision_space.obj) : error LNK2001: unresolved external symbol __ftol2
ode.lib(heightfield.obj) : error LNK2001: unresolved external symbol __ftol2
ode.lib(IceContainer.obj) : error LNK2001: unresolved external symbol __ftol2
ode.lib(OPC_OptimizedTree.obj) : error LNK2001: unresolved external symbol __ftol2
ode.lib(error.obj) : error LNK2001: unresolved external symbol ___security_cookie
ode.lib(error.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
ode.lib(heightfield.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z)
ode.lib(heightfield.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z)
ode.lib(convex.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_String_base::_Xran(void)const " (?_Xran@_String_base@std@@QBEXXZ)
ode.lib(convex.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_String_base::_Xlen(void)const " (?_Xlen@_String_base@std@@QBEXXZ)
Debug/ODE_VS6.exe : fatal error LNK1120: 7 unresolved externals
Error executing link.exe.

ODE_VS6.exe - 11 error(s), 0 warning(s)


J'ai beau cherché sur les forums, rien ne solutionne ce pb.

Merci d'avance pour votre aide précieuse.

Cordialement,
Tibabou

samedi 8 décembre 2007 à 20:35:41 | Re : ODE : link errors à la compilation

luhtor

Ces fonctions ne font pas partie de la lib ODE mais sont dans les librairies Visual et notamment celle de la STL puisqu'il trouve pas une fonction de String_base.
Je sais jamais quelle lib faut inclure: essai msvcrt.lib/msvcrtd.lib en debug et en mode MD.
C'est la librairie libc.lib/libcd.lib je crois en mode MT.

samedi 8 décembre 2007 à 21:13:37 | Re : ODE : link errors à la compilation

Tibabou

Merci pour ta réponse rapide.
Je suis novice en ce qui concerne les options de compilation. A quoi correspondent les modes MD et MT ?

J'ai essayé d'inclure msvcrt.lib, les erreurs sont les mêmes et il y en a une nouvelle :

LINK : warning LNK4098: defaultlib "LIBCD" conflicts with use of other libs; use /NODEFAULTLIB:library

Je peux la régler par /nodefaultlib:"libcd.lib" mais les autres erreurs persistent.

Ci-dessous, la liste des options de compilation de mon projet :

ode.libmsvcrt.libmsvcrtd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/sebODE01.pdb" /debug /machine:I386 /nodefaultlib:"libcmt.lib" /nodefaultlib:"libcd.lib" /out:"Debug/sebODE01.exe" /pdbtype:sept

J'ai vu sur internet qu'il était envisageable de recompiler ODE avec VC++. Malheureusement, j'ai du mal à trouver des tutos et VC++ ne semble pas lire les makefile *.am livrés avec les sources d'ODE.

Salutations,
Tibabou

samedi 8 décembre 2007 à 21:34:48 | Re : ODE : link errors à la compilation

luhtor

C'est toujours pénible ces erreurs de lien. Regarde dans les propriétés de ton projet, tu dois avoir quelque part:
Multi threaded DLL - MD
Multi threaded Debug DLL - MDd
Multi threaded - MT
Multi threaded debug - MTd

essai de changer le mode. SI tu en en MTd, passes en MDd ou inversement.

samedi 8 décembre 2007 à 21:49:05 | Re : ODE : link errors à la compilation

Tibabou

J'ai trouvé où je pouvais changer de mode : Project / Settings / Onglet C/C++ => category : Code Generation

J'ai 6 choix :

Single-Threaded
Multithreaded
Multithreaded DLL
Debug Single-Threaded
Debug Multithreaded
Debug Multithreaded DLL

J'étais en Debug Single-Threaded . Aucun changement quel que soit le mode choisi. Une exception tout de même : le mode Multithreaded génère 216 erreurs.

Tibabou

samedi 8 décembre 2007 à 21:56:41 | Re : ODE : link errors à la compilation

luhtor

Essai de te mettre en Debug Multithreaded DLL, avec l'option "nodefaultLib" et tu ajoutes les librairies:
mvscrtd.lib.



samedi 8 décembre 2007 à 22:01:39 | Re : ODE : link errors à la compilation

Tibabou

J'obtiens les mêmes erreurs.
Merci pour ta patience :)

Tibabou

samedi 8 décembre 2007 à 22:04:27 | Re : ODE : link errors à la compilation

Tibabou

En ajoutant ces lignes au début de mon code, je supprime les 4 erreurs relatives à __ftol2 :

extern "C" long _ftol( double ); //defined by VC6 C libs
extern "C" long _ftol2( double dblSource ) { return _ftol( dblSource ); }


Tibabou

dimanche 9 décembre 2007 à 12:20:02 | Re : ODE : link errors à la compilation

Tibabou

Je viens de passer 2 heures à modifier un chouilla les sources d'ODE pour recompiler la lib.
Lorsque j'inclus "ma" lib recompilée, j'ai d'autres erreurs.
Je reprends alors la lib d'origine, et il me reste ces erreurs :

ode.lib(error.obj) : error LNK2001: unresolved external symbol ___security_cookie
ode.lib(error.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
ode.lib(heightfield.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z)
ode.lib(heightfield.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z)
ode.lib(convex.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_String_base::_Xran(void)const " (?_Xran@_String_base@std@@QBEXXZ)
ode.lib(convex.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_String_base::_Xlen(void)const " (?_Xlen@_String_base@std@@QBEXXZ)

Je n'arrive pas à trouver la "fonction" security_cookie de error.cpp.
D'autre part, je ne comprends pas ces erreurs. Quelqu'un pourrait-il me les expliquer ? J'aurais peut-être plus de facilité à les corriger.

Merci d'avance.

Tibabou

dimanche 9 décembre 2007 à 12:37:54 | Re : ODE : link errors à la compilation

luhtor

Bas je peux pas  t'aider davantage. Ces erreurs signalent que le Link ne trouve pas l'implémentation des fonctions. Le compilo a bien leur définition puisque la compilation n'a pas eu de problème mais impossible de trouver le code qui est situé soit dans une dll soit dans une lib.


1 2

Cette discussion est classé dans : error, obj, unresolved, lib, ode


Répondre à ce message

Sujets en rapport avec ce message

So I need help again [ par lerilcy ] Je dois utiliser une CFile en Vc++6 et etrangement mon " #include "afx.h" " provoque une erreur lors du linkingVoici l'erreur:Compiling...file.cppLi (v6c++) - Le linking [ par lerilcy ] Je dois utiliser une CFile en Vc++6 et etrangement mon " #include "afx.h" " provoque une erreur lors du linkingVoici l'erreur:Compiling...file.cppLink [VC++6\wxWidgets] Problème à l'installation de v2.6.1 [ par Sunsawe ] Bonjour à tous. Je cherche donc à installer la dernière version à ce jour de wxWidgets avec VC++. Pour cela je suis le guide indiqué ici [url=http://w Visual c++ Express 2005 Beta 2, aidez moi !!! [ par Rom1FromMars ] Décidé à faire un peu d'infidélité à openGL je voulais me lancer à DirectX. Ayant lu d'ici et là qu'il valait mieux utiliser un compilateur Microsoft, prob lors d'une compilation ss VC++ 6 [ par hayaa ] Bonjour Je me retrouve devant un petit problème lors de la compilation d'un programme ss erreurs.Voilà ce que me sort le débuggerLinking...SOCKET.OBJ problème de libjpeg [ par Ayla_21 ] Bonjour, petite question au sujet de la librairie jpeg.Je n'ai pas du bien l'installer car lors de l'éxé, il met met ce type d'erreurmain.obj : error D'où vien l'erreur!!!? [ par mouminek ] Bonjour tout le monde, Je dois modifier dans un code ecrit en C++ dans VC++ 6.0. C'est un porogramme d'acquisition d'image utlisant un camera Apogee.. probleme gdk [ par oursgruik ] Bonjour,Je developpe un programme sous visual c++ et je doit utiliser des fonctions de gdk. Mais quand je compile, il y q les messages d'erreur suivan Probleme de librairie [ par KissyFroth ] J'ai un probleme avec une source que j'ai prise et que j'essaie vainement de compiler : Voilà l'erreur : nafxcwd.lib(afxmem.obj) : error LNK2005: "voi Probléme linker avec MVS2005 [ par windowsfashion ] Bonsoir,Depuis plusieurs heures j'essaye de compiler une source utilisant winsock2.h avec Microsoft Visual Studio 2005.Mais à la fin de la compilation


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 26,692 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.