Unresolved external symbol

Unresolved external symbol
iks de
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

Witam. Mam taki o to kod:

Kopiuj
#include <iostream>
#include <SFML/Graphics.hpp>

//#include "klasy.h"



struct zmienne_scen {

	int odliczanie_do_odliczania;
	bool zaladowane_tekstury;


};

//40:31

extern zmienne_scen zmienne_funkcji[2];





static void loadTextures_function(int id) {

	if (zmienne_funkcji[id].zaladowane_tekstury == false) {

		zmienne_funkcji[id].odliczanie_do_odliczania = 1000;
		
		//Load textures...

		zmienne_funkcji[id].zaladowane_tekstury = true;

	}

}



static void scena_functions(std::string scena_nr, sf::RenderWindow& okno, int id) {

	std::cout << "Hello" << std::endl;

	if (scena_nr == "DragRaceTime") {


		if (zmienne_funkcji[id].odliczanie_do_odliczania > 0) {
			//zmienne_funkcji[id].odliczanie_do_odliczania--;
		}
		else {

			//textures[id].displayTexture(okno, 0, 0);
			
		}


	}

};

I wywala mi takie błędy:
https://imgur.com/a/KhNbbun

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:2 dni
  • Lokalizacja:Szczecin
0

nie linkujesz pliku z definicją extern zmienne_scen zmienne_funkcji[2];


iks de
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

W ustawieniach linkera trzeba plik dodać?

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 7 godzin
0

W projekcie musisz te pliki miec


λλλ
iks de
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 7 godzin
0

A to nie ma byc w source files? ;)


λλλ
iks de
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

A to jest jakaś różnica? Te wszystkie pliki są w tej samej scieżce.

stivens
No to jest roznica. Chyba ze to tylko wirtualna etykietka ale wyglada mi na drzewo katalogow
iks de
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:97
0

Przerzuciłem ten plik do Source Files i bład nadal jest

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:2 dni
  • Lokalizacja:Szczecin
1

Nie rozumiesz różnicy między definicją a deklaracją. extern zmienne_scen zmienne_funkcji[2]; mówi tylko (deklaruje), że gdzieś takie coś jest (zdefiniowane). Ale musisz tę definicję gdzieś mieć (bez extern) - w jakimś pliku .cpp (konkretniej: ma być w jednym TU)


kaczus
  • Rejestracja:około 10 lat
  • Ostatnio:około 8 godzin
  • Lokalizacja:Łódź
  • Postów:1402
1

Jak napisali powyżej, w jakimś pliku cpp musisz mieć:

Kopiuj
zmienne_scen zmienne_funkcji[2];

Ale ogólnie, najlepiej jakbyś zmiennych globalnych nie uzywał... Bo jak widzisz już na tak wczesnym etapie tworza się problemy, a dalej będzie bardziej pod górkę...


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.