IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Erreur LNK2001 avec linker VS2012


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Erreur LNK2001 avec linker VS2012
    Bonjour à tous !!!
    Je suis nouveau sur le forum, ceci est mon premier post ça se fête!

    Bon en gros, je suis débutant en C++, je code avec VIM et jusqu'à aujourd'hui je compilais avec mingw sous windows7.
    Jusqu'à aujourd'hui... car je dois migrer vers visual studio 2012 pour utiliser des librairies qui ne sont pas compatibles gcc.

    Maintenant voilà, je suis embêté car j'arrive à compiler mon programme avec vs2012 mais plus avec la ligne de commande (cl.exe et link.exe - voir ci dessous)... et donc encore moins avec VIM.

    Mon programme est composé d'un main.cpp et d'un testApp.cpp

    Voici le contenu de mon programme (main.cpp) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include "ofMain.h"
    #include "testApp.h"
     
    int main() {
    ofSetupOpenGL(1024,768, OF_WINDOW);			
    ofRunApp( new testApp());
    }
    Et voici ma commande de compilation (makefile réalisé à partir du log de VS2012):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    build :
    vcvarsall.bat
    	CL.exe /c /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks /IC:\Users\Rom\Desktop\Project\OF\testApp1\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\graphics /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\app /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\sound /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\utils /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\communication /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\video /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\types /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\math /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\3d /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\gl /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openFrameworks\events /IC:\Users\Rom\Desktop\Project\..\libs\glut\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\rtAudio\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\quicktime\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\freetype\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\freetype\include\freetype2 /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\freeImage\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\videoInput\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\fmodex\include /IC:\Users\Rom\Desktop\Project\..\libs\videoInput\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glew\include\ /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glu\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\tess2\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\cairo\include\cairo /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\poco\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glfw\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openssl\include /IC:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\addons /Isrc /D WIN32 /D _DEBUG /D _CONSOLE /D POCO_STATIC /D CAIRO_WIN32_STATIC_BUILD /D DISABLE_SOME_FLOATING_POINT /D _UNICODE /D UNICODE /Fo"obj\Debug\\" src\main.cpp src\testApp.cpp
    	rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"obj\Debug\icon.res" /D_DEBUG  icon.rc
    	link.exe /ERRORREPORT:PROMPT /OUT:"bin\test.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\cairo\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glut\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glfw\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\rtAudio\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\FreeImage\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\freetype\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\quicktime\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\fmodex\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\videoInput\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\cairo\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glew\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glu\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openssl\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\Poco\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\tess2\lib\vs cairo-static.lib pixman-1.lib msimg32.lib OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib Vfw32.lib comctl32.lib glut32.lib rtAudio.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib msvcrt.lib gdi32.lib libcmt.lib winspool.lib libcmtd.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib glew32s.lib fmodex_vc.lib glu32.lib crypt32.lib libeay32MD.lib ssleay32MD.lib PocoFoundationmd.lib PocoNetmd.lib PocoUtilmd.lib PocoXMLmd.lib Ws2_32.lib tess2.lib glfw3.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 /NODEFAULTLIB:PocoFoundationd.lib /NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:LIBC.lib /NODEFAULTLIB:LIBCMT /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"bin\test.pdb" /OPT:REF /OPT:ICF /TLBID:1 /DYNAMICBASE:NO /NXCOMPAT /IMPLIB:"bin\test.lib" /MACHINE:X86 /SUBSYSTEM:CONSOLE
     
     
     
     
    rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"obj\Debug\icon.res" /D_DEBUG  icon.rc
    link.exe /ERRORREPORT:PROMPT /OUT:"bin\test.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\cairo\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glut\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glfw\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\rtAudio\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\FreeImage\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\freetype\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\quicktime\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\fmodex\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\videoInput\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\cairo\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glew\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\glu\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\openssl\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\Poco\lib\vs /LIBPATH:C:\Users\Rom\Desktop\Project\of_v0.8.0_vs_release\libs\tess2\lib\vs cairo-static.lib pixman-1.lib msimg32.lib OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib Vfw32.lib comctl32.lib glut32.lib rtAudio.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib msvcrt.lib gdi32.lib libcmt.lib winspool.lib libcmtd.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib glew32s.lib fmodex_vc.lib glu32.lib crypt32.lib libeay32MD.lib ssleay32MD.lib PocoFoundationmd.lib PocoNetmd.lib PocoUtilmd.lib PocoXMLmd.lib Ws2_32.lib tess2.lib glfw3.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 /NODEFAULTLIB:PocoFoundationd.lib /NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:LIBC.lib /NODEFAULTLIB:LIBCMT /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"bin\test.pdb" /OPT:REF /OPT:ICF /TLBID:1 /DYNAMICBASE:NO /NXCOMPAT /IMPLIB:"bin\test.lib" /MACHINE:X86 /SUBSYSTEM:CONSOLE
    Systématiquement j'obtiens l'erreur suivante avec le link.exe :

    LINK : error LNK2001: symbole externe non résolu _mainCRTStartup
    bin\graphicsExample.exe : fatal error LNK1120: 1 externes non résolus
    make: *** [build] Error 1120

    Auriez vous une idée, des pistes pour résoudre ce souci ?
    Merci infiniment...

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 883
    Points : 219 328
    Points
    219 328
    Billets dans le blog
    123
    Par défaut
    Bonjour,

    La fonction main(), ne doit pas avoir de majuscule pour le 'm'. Donc, normalement, si vous remplacez la lettre 'M' par 'm' cela pourra aller mieux.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci LittleWhite,

    Concernant le main(), il s'agit uniquement d'une erreur de frappe, j'ai supprimé le Win de WinMain () que j'avais modifié précédemment. (j'ai modifié l'erreur dans mon message initial, merci beaucoup )

    En fait j'utilise la fonction main() quand je configure le linker en subsystem:console et WinMain() quand je le configure en subsystem:windows.
    Dans les deux cas, j'ai la même erreur.



    Je n'arrive toujours pas à résoudre mon problème...

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 626
    Points : 30 684
    Points
    30 684
    Par défaut
    Salut,

    Si tu as gardé le même projet et que tu t'es amusé à en changer le type, je te conseillerais très fortement de le reprendre à zero, d'autant plus que, si je ne fais pas erreur, tu le commences à peine

    Veilles à bien choisir le modèle "win32 console" dans les modèles de projets, et veilles, surtout, à bien placer le fichier main dans le bon dossier virtuel (dans le dossier source, et non dans le dossier ressources, par exemple

    Si le problème persiste, reviens nous voir, mais si possible avec la sortie complète de la console (surtout s'il y a "quelque chose" avant les liens non résolus).

    En théorie, tu devrais pouvoir faire un copier / coller du log d'erreurs (en l'entourant de la balise [ CODE ] pour la facilité de lecture ), cela devrait nous aider à t'aider
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 159
    Points
    3 159
    Par défaut
    Salut Roud23

    Tes soucis peuvent venir du fait que tu n'as pas chargé l'environnement de dev dans ton shell.

    Tu peux en lançant le script "vcvarsall.bat" qui se trouve je ne sais plus trop où (pas de VS sous la main pour chercher :p), sinon, dans le menu démarrer, il doit y avoir un raccourci du genre "Console Visual Studio" ou un truc du genre. Ca ouvre un shell avec l'environnement chargé.

    Comment exécutes tu ton Makefile ? Dans MinGW ? Malheureusement pour la compile avec VS sous windows en ligne de commande, il est de ma propre expérience plus simple et plus efficace d'utiliser un shell Batch natif et des fichiers nmake (sorte de make version MS). Quitte à avoir un MinGW ouvert à côté pour avoir son VIM.
    Find me on github

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/03/2011, 23h23
  2. debutant: erreur LNK2001 avec la librairie GSL
    Par drill3 dans le forum MFC
    Réponses: 6
    Dernier message: 25/04/2005, 13h58
  3. Erreur EACCESSVIOLATION avec des compsts créés dynamiquement
    Par tsikpemoise dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/02/2004, 19h05
  4. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  5. Erreurs IIS avec Multiples Frames avec xmlrad
    Par powerlog dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/07/2003, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo