Partage
  • Partager sur Facebook
  • Partager sur Twitter

error LNK2019

Sujet résolu
    11 juin 2019 à 17:50:44

    Bonjour,

    Je commence à utiliser VScode, mais il me donne l'erreur suivante :

    1>main.obj : error LNK2019: symbole externe non résolu "void __cdecl jeu(void)" (?jeu@@YAXXZ) référencé dans la fonction _main

    Pourtant je vois pas ce qui pourrait poser problème...

    mon code :

    main.cpp :

    #include <SFML/Window.hpp> 
    #include "enums.h"
    #include "jeu.h"
    
    using namespace std;
    
    int main()
    {
    	jeu();
    
    	return 0;
    }

    enums.h :

    #pragma once
    
    #include <vector>
    
    using namespace std;
    
    enum Case { VIDE, JAUNE, ROUGE } ;
    
    ostream& operator<<(ostream& sortie, Case c);
    
    typedef vector<vector<Case>> Jeu;
    
    ostream& operator<<(ostream& sortie, Jeu j);
    

    enums.cpp :

    ostream& operator<<(ostream& sortie, Case c)
    {
    	switch (c)
    	{
    	case VIDE:
    		sortie << "  ";
    		break;
    
    	case JAUNE:
    		sortie << "J ";
    		break;
    
    	case ROUGE:
    		sortie << "R ";
    		break;
    	}
    	return sortie;
    }
    
    ostream& operator<<(ostream& sortie, Jeu j)
    {
    	for (int x; x < j.size(); x++)
    	{
    		for (int y; y < j[x].size(); y++)
    		{
    			sortie << j[x][y]; //c'est une Case, opérateur << surchargé au dessus
    		}
    
    		sortie << endl;
    	}
    
    	sortie << endl << endl;
    
    	return sortie;
    }

    jeu.h :

    #pragma once
    
    #include <iostream>
    #include <vector>
    #include "enums.h"
    
    using namespace std;
    
    void jeu();
    
    void tour(bool tourRouge, Jeu & jeu);
    
    int askline();
    

    jeu.cpp :

    void jeu()
    {
    	Jeu jeu { 6, vector<Case>(7, Case{ VIDE }) }; //dimentions du jeu du puissace 4
    
    	bool tourRouge{ true };
    	bool fin{ false };
    
    	while (!fin)
    	{
    		tour(tourRouge, jeu);
    
    		if (tourRouge)
    		{
    			tourRouge = false;
    		}
    		else
    		{
    			tourRouge
    		}
    	}
    }
    
    void tour(bool tourRouge, Jeu & jeu)
    {
    	cout << "C'est au tour des ";
    
    	if (tourRouge)
    	{
    		cout << "rouge";
    	}
    	else
    	{
    		cout << "jaune";
    	}
    
    	cout << "." << endl << endl << jeu;
    
    	int ligne = askline();
    
    	int caseLibre = 0;
    
    	while (jeu[caseLibre][ligne] != VIDE)
    	{
    		caseLibre++;
    	}
    
    	if (tourRouge)
    	{
    		jeu[caseLibre][ligne] = ROUGE;
    	}
    	else
    	{
    		jeu[caseLibre][ligne] = JAUNE;
    	}
    }
    
    int askline() // a changer avec la sfml
    {
    	int nbr;
    
    	cout << "Quelle ligne ?" << endl;
    
    	cin >> nbr; // Pas sécur mais viré avec la sfml
    
    	return nbr;
    }







    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2019 à 19:34:05

      Salut,

      Tu as oublié d'inclure jeu.h dans jeu.cpp. ;)

      • Partager sur Facebook
      • Partager sur Twitter
        11 juin 2019 à 19:58:28

        >Tu as oublié d'inclure jeu.h dans jeu.cpp

        Pas vraiment utile, bien que plus "propre".

        C'est un problème de link, donc un problème avec les .h.

        @Passworld_, vous n'avez pas mis "jeu.cpp" dans la liste des fichiers sources à compiler du projet.

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          12 juin 2019 à 16:45:47

          Effectivment, ils n'étais pas ds la liste des fichiers à compiler...

          Merci !

          • Partager sur Facebook
          • Partager sur Twitter

          error LNK2019

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown