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
ball과 그 생성자라는 클래스를 선언했지만 어디에도 정의되어 있지 않습니다. – OMGtechy
@OMGtechy Ball은 Ball.h 파일에 선언되어 있으며 생성자는 Ball.cpp에 정의되어 있습니다. – user2157901
가능한 네임 스페이스 문제가 있습니까? –