Tamam, yaklaşık 10 öğreticiyi okuyabiliyorum, ancak her zaman hata alıyorum, 5 dosyam var, main.cpp class.cpp, class.h ve functions.cpp ve functions.h. Bunların hepsi fonksiyonlar işlevler.cpp class.cpp gelen nesneleri kullanır anlamına gelen farklı nesnelerden kullanır. Ben başvuruları tanımlanmamış olduğunu söyleyip duruyorMakefile'de tanımlanmamış referanslar
CC = g++ -O2 -I./sdl/include -L.
LIBS = -lm -lSDL -lpthread -ldl
SRC = main.cpp
SDLF = SDLfunctions.cpp
CLASS = classes.cpp
CLASSH = classes.h
SDLFH = SDLfunctions.h
all: main
main: SDLfunctions.o Classes.o $(SRC)
$(CC) -o [email protected] $(SRC) $(LIBS)
SDLfunctions.o: $(SDLFH) $(SDLF) $(CLASS) $(CLASSH)
$(CC) -o [email protected] $(SDLF) $(LIBS)
Classes.o: $(CLASS) $(CLASSH) $(SDLF) $(SDLFH)
$(CC) -o [email protected] $(CLASS) $(LIBS)
şöyle
My makefile görünüyor. Neyi kaçırıyorum? i Visual C++ ile onları varken
Ne makefile çıkışları
/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
/tmp/ccJG6yQA.o: In function `DrawEnemies(SDL_Surface*)':
SDLfunctions.cpp:(.text+0x3a7): undefined reference to `Enemy::sprite'
/tmp/ccJG6yQA.o: In function `rysujpociski(int, SDL_Surface*, SDL_Surface*,
std::vector<AllyBullet, std::allocator<AllyBullet> >&, double)':
SDLfunctions.cpp:(.text+0x141f): undefined reference to `AllyBullet::sprite'
/tmp/ccJG6yQA.o: In function `global constructors keyed to width':
SDLfunctions.cpp:(.text+0x14a7): undefined reference to `Enemy::Enemy()'
collect2: ld returned 1 exit status
make: *** [SDLfunctions.o] Error 1
dosyalar harika derlemek, bu yüzden benim makefile olmak zorunda.
Lütfen çıktıyı gönderin. Ne tanımlanmamış referanslar? – EFraim
Çalıştırırken, çalıştırılan komutları göreceksiniz. El ile derlemek için yazdığınız komutlardan farklı mı? – rodrigo
Soru başlığını, sorunun _describes_ olması için geliştirin lütfen. –