2014-04-12 4 views
1

cocos2d-x v3에서 작업하는 데 문제가 있습니다. 사실 box2d world object을 초기화하고 싶습니다. cocos2d-x 매뉴얼에 나와있는대로 게임 프로젝트를 올바르게 만들었습니다. 문제입니다 이제 어떻게이 코드에서cocos2d-x 및 box2d 연결 오류

b2Vec2 gravity = b2Vec2(0.0f, -10.0f); 
b2World world(gravity); 

두 번째 줄은 b2World 객체를 instantinating없이 컴파일러

'unresolved external symbol error':(

를 제공, 모든 컴파일 잘 작동합니다.

아무도이 문제에 직면 했습니까?

+0

두 번째 줄이 올바르지 않습니다. C++ (누락 된 '새', 변수에 할당되지 않은 결과) .. 뭔가를 생략 했습니까? b2World * world = new b2World (중력); 그러나 세상도 회원이되어야합니다. – LearnCocos2D

+0

두 변종을 모두 시도했습니다. 하지만 아직도 그들 중 아무도 작동하고, 나는 연결 오류가 발생합니다. 헤더 "Box2D \ Box2D.h"도 포함 시켰습니다. – l1fe

+0

@ LearnCocos2D, C++에서 변수를 초기화하고 할당하는 데 두 가지 유형이 있다는 것을 알고 계셨습니까? 방금 더미에 변수를 만들면서 힙에 변수를 생성하라고했습니다. 문제는 이것에 있지 않습니다. 문제는 일종의 연결입니다. – l1fe

답변

3

이것은 Visual Studio에서 매우 일반적인 링커 오류이며 프로젝트 등록 정보에 libbox2d.lib을 추가해야합니다.

Right Click Project -> Project Properties -> Linker -> Input -> Additional Dependencies

이제 편집하고 다시 종료하고 실행 프로젝트에서 libbox2d.lib를 추가합니다.

+0

어디서 libbox2d.lib을 찾을 수 있습니까? 추가 종속성으로 추가 했으므로 Input-> AdditionalDependencies : libbox2d.lib; % (AdditionalDependencies) 이제 컴파일하려고하면 LNK1104 오류가 발생합니다. libbox2d.lib 파일을 열 수 없습니다. p.s. 나는 cocos2d-x 3.0rc1을 사용하고있다. – l1fe

+0

당신의 솔루션에'libBox2D' 프로젝트를 추가해야한다. 추가 후, 컴파일, lib 파일이 자동으로 빌드됩니다. 그 후에 프로젝트를 실행하십시오. 샘플에서 TestCpp 프로젝트의 예를들 수 있습니다. –