2014-04-04 2 views
2

아래 코드는 제 코드입니다. 내가 직면하고있는 문제는 Ball()의 생성자에 대한 정의되지 않은 참조를 말합니다. 나는 그것에 대해 봤 거든 일부는 링크 오류라고. 그래서 컴파일 할 때 사용하는 Make 파일도 첨부하고 있습니다. 여기 개체에 대한 정의되지 않은 참조

World.h 
    #ifndef WORLD_H 
    #define WORLD_H 

    #include "Ball.h" 
    #include "Camera.h" 
    #include "Stick.h" 

    class World 
    { 

    public: 
     Ball ball[15]; 
     Ball qBall; 
     Camera camera; 
     World(); 
     void update(); 
     void render(); 
    }; 

    #endif 

world.cpp 

    #include "World.h" 

    World::World(){ 
     // set all initial declaration 
    } 
    //************************************************************** 
    void World::update(){ 
     for (int i = 0; i < 15; ++i) 
     { 
      ball[i].update(); 
     } 
    } 

    //************************************************************** 
    void World::render(){ 

    } 

내가 점점 오전 오류입니다 :

./libWorld.a(World.o): In function `World::World()': 
    World.cpp:(.text+0x21): undefined reference to `Ball::Ball()' 
    World.cpp:(.text+0x46): undefined reference to `Ball::Ball()' 
    World.cpp:(.text+0x58): undefined reference to `Camera::Camera()' 
    ./libWorld.a(World.o): In function `World::update()': 
    World.cpp:(.text+0x97): undefined reference to `Ball::update()' 
    collect2: ld returned 1 exit status 
    make: *** [a.out] Error 1 

나는 그것이 연결 오류 인 경우 사용하고있는 메이크업 파일 :

a.out: readobj.cpp libBall.a libWorld.a libCamera.a libStick.a 
     g++ -Wall readobj.cpp -L. -lBall -lWorld -lCamera -lStick -lglut -lGLU 

    libWorld.a: World.o 
     ar -rcs libWorld.a World.o 
    World.o: World.cpp World.h libCamera.a libStick.a libBall.a 
     g++ -Wall -c World.cpp -L. -lCamera -lStick -lBall 


    libCamera.a: Camera.o 
     ar -rcs libCamera.a Camera.o 
    Camera.o: Camera.cpp Camera.h Game.h 
     g++ -Wall -c Camera.cpp 


    libStick.a: Stick.o 
     ar -rcs libStick.a Stick.o 
    Stick.o: Stick.cpp Stick.h Game.h 
     g++ -Wall -c Stick.cpp 


    libBall.a: Ball.o 
     ar -rcs libBall.a Ball.o 
    Ball.o: Ball.cpp Ball.h Game.h 
     g++ -Wall -c Ball.cpp 
+1

ball과 그 생성자라는 클래스를 선언했지만 어디에도 정의되어 있지 않습니다. – OMGtechy

+0

@OMGtechy Ball은 Ball.h 파일에 선언되어 있으며 생성자는 Ball.cpp에 정의되어 있습니다. – user2157901

+0

가능한 네임 스페이스 문제가 있습니까? –

답변

0

문제는 연결 라이브러리와 함께했다 주문, 이제 고칠 수 있습니다.