2-complex / g2c

A cross-platform game development library.
MIT License
1 stars 0 forks source link

Linker errors on examples #5

Open samgreen opened 10 years ago

samgreen commented 10 years ago

I get this result if I attempt to run make from the examples directory without building the environments first. This also happens even if I cd to the environments and attempt a make from there first.

true
cd ../g2c && /Applications/Xcode.app/Contents/Developer/usr/bin/make libg2c.a
make[1]: `libg2c.a' is up to date.
cd ../environments && /Applications/Xcode.app/Contents/Developer/usr/bin/make libenvironments.a
make[1]: `libenvironments.a' is up to date.
c++  -g3 -O0  -I../g2c -I../environments  atlas.cpp -o  ../environments/libenvironments.a ../g2c/libg2c.a -framework Cocoa -framework QuartzCore -framework GLUT -framework OpenGL -framework AudioToolbox -framework Foundation -framework OpenAL
Undefined symbols for architecture x86_64:
  "Environment::step(double)", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "Environment::button(int, int, int, int)", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "Environment::mainLoop()", referenced from:
      _main in atlas-d805be.o
  "ScrollEnvironment::motion(int, int)", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "ScrollEnvironment::display()", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "SpriteEnvironment::mouseDragged(Vec2 const&)", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "SpriteEnvironment::enables()", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "SpriteEnvironment::mouseUp(Vec2 const&)", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "SpriteEnvironment::reshape(int, int)", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "SpriteEnvironment::keyboard(unsigned char)", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "SpriteEnvironment::mouseDown(Vec2 const&)", referenced from:
      vtable for AtlasEnvironment in atlas-d805be.o
  "SpriteEnvironment::SpriteEnvironment()", referenced from:
      AtlasEnvironment::AtlasEnvironment() in atlas-d805be.o
  "SpriteEnvironment::~SpriteEnvironment()", referenced from:
      AtlasEnvironment::AtlasEnvironment() in atlas-d805be.o
      AtlasEnvironment::~AtlasEnvironment() in atlas-d805be.o
  "typeinfo for SpriteEnvironment", referenced from:
      typeinfo for AtlasEnvironment in atlas-d805be.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [atlas] Error 1
2-complex commented 10 years ago

Thanks so much for your feedback.

According to me, this is now fixed in master. Please pull and try again?