이때의 환경은 cocos2d-x 3.11버전에 비쥬얼 스튜디오 2015
이 부분에 대한 한글자료는 없는듯
링커에러에 고통받다 찾아낸 해결법을 공유함
1. 코코스 원본의 lua관련 소스를 자신의 프로젝트 아래에 경로를 일치시켜 이동
MyProject\cocos2d\external\lua
MyProject\cocos2d\cocos\scripting\lua-bindings
이런식으로 옮겨놔야한다.
2. 비쥬얼스튜디오의 솔루션에 libluacocos2d 프로젝트를 추가
MyProject\cocos2d\cocos\scripting\lua-bindings\proj.win32\libliacocos2d.vcxproj를 솔루션우클릭 -> Add -> Existing project...로 추가하면 된다.
3. 솔루션에서 자신의 게임 프로젝트의 프로퍼티에 들어가서 C/C++ -> Additional Include Directories에
$(EngineRoot)cocos\scripting\lua-bindings\auto
$(EngineRoot)cocos\scripting\lua-bindings\manual
$(EngineRoot)external\lua\luajit\include
$(EngineRoot)external\lua\tolua
$(EngineRoot)external\lua
를 추가한다.
4. 3의 프로퍼티에서 C/C++ -> Preprocessor -> Preprocessor definitions에 _USRLUASTATIC 을 추가한다.
5. 3의 프로퍼티에서 Linker -> Input -> Additional Dependencies에 비쥬얼 스튜디오가 2015라면 lua51-2015.lib을 아니라면 lua51.lib을 추가한다.
6. 자신의 프로젝트를 우클릭하여 Add -> Reference -> libluacocos2d 추가.
7. 솔루션 프로퍼티에 들어가 Common Properties -> Project Dependencies에서 libluacocos2d 추가.
(아마도) 이렇게하면 될것이다.
Postfixation (0) | 2013.04.22 |
---|
윈7 기준
제어판 -> Windows Update -> 설치된 업데이트 -> 목록중 KB2918614를 삭제 (좌측상단 검색기능을 사용하면 좀 더 용이) -> 컴퓨터 재부팅 -> 다시 심즈4를 설치하면 해결
오리진이 문제인지 마소문제인지
재전송 VC++ 런타임 패키지 1603
시작 (0) | 2013.04.22 |
---|
결론 : android.mk에
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_gui_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static … $(call import-module,2d) $(call import-module,audio/android) $(call import-module,Box2D) $(call import-module,gui) $(call import-module,extensions) $(call import-module,editor-support/cocostudio) $(call import-module,network)
을 추가하면 된다.
extension, control, cocos2dx, eclipse
NDK Debugging (1) | 2014.07.21 |
---|
fatal signal 11 (SIGSEGV) at 0x00000010로 고통받다 에러난곳의 디버깅 방법을 발견하고 구제 받음.
에러원인은 bool 멤버변수를 초기화 안하고 그대로 써서..........후.............
클래스 상속시엔 멤버를 소중히
출처 : http://bongman.tistory.com/21
앱이 실행 중 크래쉬됐을 때는 크래쉬 덤프(crash dump)를 확인하면 대강의 원인을 파악할 수 있다. 이를 위해 ‘Addr2line’ 라는 툴을 사용한다. Addr2line 툴은 명령어 주소와 실행 이미지를 파일 이름, 함수 이름, 소스 라인 번호로 변환하는 유틸리티이다. NDK는 ‘arm-linux-androideabi-addr2line’ 라는 이름으로 해당 툴을 제공한다.
먼저 아래 그림과 같이 사용자 계정의 루트 디렉토리로 이동한 뒤 편집기로 .bash_profile 파일을 연다.
그리고 PATH 에 ‘arm-linux-androideabi-addr2line’ 툴이 있는 디렉토리를 다음과 같이 추가한다.
export PATH=${PATH}:$NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin |
여기서 ‘$NDK_ROOT’ 는 NDK가 설치된 디렉토리를 의미한다. 각자 환경에 맞게 절대 경로를 넣는다. 설정을 마쳤으면 현재 프로젝트의 /proj.android 디렉토리로 이동한 뒤 아래와 같이 Addr2line를 실행한다.
arm-linux-androideabi-addr2line -C -f -e obj/local/armeabi/libXXX.so <address> |
libXXX.so 는 게임 소스 라이브러리를 의미하며 기본으로 설정된 이름을 수정하지 않았다면 libgame.so 다. <address>는 앱이 크래쉬됐을 때 이클립스 LogCat에 출력되는 주소 값이다.
아래 그림은 앱이 크래쉬됐을 때 LogCat에 출력되는 로그다. 하이라이트된 라인의 000e6c54가 크래쉬된 코드의 주소 값이다.
이 주소 값을 Addr2line 툴에 넘겨주고 실행해 보면 아래 그림과 같이 문제가 된 파일명인 ‘HelloWorldScene.cpp’과 ‘76’ 이라는 라인 정보, 그리고 멤버 함수명인 ‘HelloWorld::init()’ 까지 출력된다.
cocos2dx 확장 라이브러리 사용시 이클립스 설정 (0) | 2014.07.31 |
---|
%include "asm_io.inc"
segment .data
;
; initialized data is put in the data segment here
;
array: dd 3, 1, 5, 7, 2, 8, 4, 9, 6, 10
size: dd 10
string1 db "Origin : ",0x00
string2 db "Sorted : ",0x00
segment .text
global main
main:
enter 0,0 ; setup stack frame
pusha
mov eax, string1
call print_string
mov ecx, 0
repeat1:
mov eax, array
mov ebx, ecx
shl ebx, 2
mov eax, [eax+ebx]
call print_int
inc ecx
cmp ecx, [size]
je endrepeat1
mov eax, ','
call print_char
mov eax, ' '
call print_char
jmp repeat1
endrepeat1:
call print_nl
mov eax, [size]
dec eax
push dword eax
push dword 0
call quicksort
add esp, 8
mov eax, string2
call print_string
mov ecx, 0
skeleton.asm (0) | 2013.05.21 |
---|
%include "asm_io.inc"
segment .data
;
; initialized data is put in the data segment here
;
segment .text
global main
main:
enter 0,0 ; setup stack frame
pusha
;
; code is put in the text segment. Do not modify the code before
; or after this comment.
;
popa
mov eax, 0 ; return value
leave ; leave stack frame
ret
Quick sort with assembly (0) | 2013.05.27 |
---|
Sims4 VC++ 관련 1603 에러 해결법 (0) | 2014.09.15 |
---|
cocos2dx C++ 소스에 LUA 적용법 (비쥬얼스튜디오) (0) | 2016.11.29 |
---|