4월, 2013의 게시물 표시

CMake 윈도우에서 The C compiler identification is unknown 에러

이미지
C:\Users\wwforever.NOWCOM\Downloads\MyGUI3.2.0>cmake -G "Visual Studio 7 .NET 2003
"
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Configuring MYGUI 3.2.0
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeCIn
formation.cmake:37 (get_filename_component):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  CMakeLists.txt:3 (PROJECT)


CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Looking for sys/types.h - not found
-- Looking for stdint.h
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeCIn
formation.cmake:37 (get_filename_component):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  CMakeLists.txt:3 (PROJECT)


CMake Error: Internal CMake error, TryCom…

CMake Does not match the generator used previously 에러

CMake를 사용해서 MyGUI를 빌드하는 중 나왔던 에러들을 정리중에 있습니다.


C:\Users\wwforever.NOWCOM\Downloads\MyGUI3.2.0>cmake -G "Visual Studio 7 .NET 2003
"
CMake Error: Error: generator : Visual Studio 7 .NET 2003
Does not match the generator used previously: Visual Studio 10
Either remove the CMakeCache.txt file or choose a different binary directory.


 좀전에 VS 2010용으로 한번 했다가 2003용으로 하면서 발생한 에러입니다. 캐쉬파일인 CMakeCache.txt를 지우고 하거나 다른 바이너리 디렉터리에서 작업하면됩니다.

Win32 WinInet의 InternetOpenUrl 사용시 blocking이 된다면

이미지
현재 서비스중인 MMORPG의 런처가 Win32API로 되어있고 WinInet을 사용해서 http등을 접근해서 패치등을 처리하고 있습니다. 보통은 이걸 많이들? 사용하게되죠.


PARM* pThreadParm = (PARM*)vThreadParm;

pThreadParm->pURL = 0;
if( pThreadParm->_openURL == false )
{
if( !( pThreadParm->pURL = InternetConnect( pThreadParm->pInternet, pThreadParm->pHost, pThreadParm->pPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0 ) ) )
{
swprintf( pThreadParm->errText, L"Internet Connect Failed. Error code(%d)", GetLastError() );
return 1;
}
}
else
{
if( !( pThreadParm->pURL = ::InternetOpenUrl( pThreadParm->pInternet, pThreadParm->pHost, NULL, 0, INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE, 0 ) ) )
{
swprintf( pThreadParm->errText, L"Internet open url Failed. Error code(%d)", GetLastError() );
return 2;
}
}


 문제가 된 부분은 위와 같습니다. bold 처리한 InternetOpenUrl 부분인데요. 몇년간 이상이 없다가 갑짜기 런처를 업데이트 하면서 먹통이 되더군요. 제가 작업했던 건 아니라 무슨 작업을 하다가 생긴 문제였는지 몰랐는데 알고 봤더니 런처에 띄우는 배너를 하나더 추가하면서 생긴 문제였는데요,

 WinInet은 한 서버에 대한 동시 접근 커넥션 수를 HTTP1.0(4개)과 HT…

CMake Windows에 설치하기

이미지
GUI 시스템을 전면 수정할 수도 있어서 네이티브 C++ 베이스로 된 GUI 미들웨어를 리서치 했었죠. 그래서 처음으로 CEGUI를 비주얼 스튜디오 2003에서 시도했었지만 실행시 크리티컬이 발생했고 비주얼 스튜디오 2010에서는 잘 되었긴했죠. 어쨌든 게임과 엔진이 2003기반이라 CEGUI는 패스해야 할 듯하고 2번째로 MyGUI를 R&D 해보려고 합니다. MyGUI를 빌드하기 위해서는 CMake가 필요하기 때문에 이번 포스팅은 CMake에 대해 간단하게 정리를 해보겠습니다.

0. CMake란?

 기존에 유닉스 계열 중심이던 Make와는 달리 유닉스나 리눅스는 물론 윈도우에서도 작동을 한다고 합니다. 즉, 크로스 플랫폼이라는 거죠. Make처럼 자체적으로 빌드 과정을 수행하는 건 아니고 지정된 운영 체제의 개발 IDE에 맞는 솔루션 파일이나 Make 파일을 생성만 해주기 때문에 Meta Make 불린다고 하네요. 자세한건 위키백과-CMake를 참고하세요.


1. CMake 설치

CMake 홈페이지의 다운로드 페이지로 가셔서 원하시는 플랫폼의 최신버전을 다운로드 합니다. 저는 Windows에 설치하므로 cmake-2.8.10.2-win32-x86.exe를 다운받았습니다.

 다운받은 설치 파일을 실행 후 다음을 눌러 설치를 시작합니다.

 사용권 계약 화면입니다. 대충 읽어보시고 '동의함'을 클릭합니다.

 설치 옵션입니다. 저는 CMake의 시스템 패스를 현재 계정에만 되도록 설정했습니다. 다음을 클릭합니다.

 설치 위치를 선택해주고 다음을 클릭합니다.

 시작 메뉴 폴더 선택입니다. 기본으로 하시고 설치를 클릭합니다.

 설치중입니다. 제 경우 거의 100%에서 조금 오래걸리더군요.

 설치 완료되었습니다.

 콘솔창에서 cmake를 실행해보면 설치된 것을 확인할 수 있습니다.

CEGUI 빌드부터 FirstWindow Sample 실행 실패기( VS 2003 )

이미지
서비스 중인 MMORPG 프로젝트의 UI를 전면 수정해야할지도 모른다고 했었죠. 그래서 네이티브 C++ 베이스 GUI 미들웨어도 리서치 했었구요. 그중에서 CEGUI를 일단 R&D 해보기로 했습니다. 사실 전 회사에서 잠시 써봤었는데 그땐 정리 안했다가 이제와서 정리해보네요.

 결론부터 말하면 VS 2003에서는 실행시 뻑이납니다. VS 2010에서는 실행이 잘되는거 보면 2003은 문제가 있나보네요. 게임 프로젝트가 2003기반이고 엔진도 2003이라 이거 뭐...


1. CEGUI 설치

CEGUI 다운로드 페이지에 가셔서 최신 버전을 다운로드 합니다. 현재 0.7.9가 최신이네요.

 그리고 그 밑에 있는 CEGUI 작업에 필요한 의존성 모듈을 다운받아야 합니다. VS 2003으로 작업중인데 2003이 없어서 2005로 다운로드 했습니다.

 적당한 곳에 압축 해제하고 각 비주얼 스튜디오 환경에 맞는 bat파일을 실행해줍니다. 저는 build_vs2003.bat와 build_samples_vs2003.bat를 실행해줬습니다. 그러면 CEGUI SDK용 CEGUI.sln과 샘플이 들어있는 CEGUISamples.sln 파일이 생성됩니다.


2. CEGUI 및 Sample 빌드

 이제 CEGUI.sln 파일을 열어 빌드를 해보면 여러 에러가 발생할 수 있습니다. 링크에 따로 정리했으니 참고하세요.


Cegui-0.7.9\cegui\include\RendererModules\Direct3D9\CEGUIDirect3D9Renderer.h(36): fatal error C1083: 포함 파일을 열 수 없습니다. 'd3d9.h': No such file or directory
CEGUI-0.7.9\Samples\common\src\CEGuiD3D9BaseApplication.cpp(36): fatal error C1083: 포함 파일을 열 수 없습니다. 'd3d9.h': No such file or directory
Sample_FirstWin…

CEGUI VS 2010에서 빌드 및 실행

이미지
현재 CEGUI를 VS 2003에서 빌드까진 했고 FirstWindow를 실행하는 중에 뻑이 나서 VS 2010으로 되는지 확인중입니다. 그 과정을 정리합니다. 자세한 설치기는 2003에 설치했던 내용을 참고하세요.

 일단 build bat파일이 2008용까지 밖에 없네요. 실행을해서 sln 파일을 생성합니다.


2>------ 빌드 시작: 프로젝트: tolua++, 구성: Debug Win32 ------
2>     ../../../../../../lib/tolua++_d.lib 라이브러리 및 ../../../../../../lib/tolua++_d.exp 개체를 생성하고 있습니다.
2>LINK : fatal error LNK1123: COFF로 변환하는 동안 오류가 발생했습니다. 파일이 잘못되었거나 손상되었습니다.


 CEGUI SDK나 Samples을 빌드하면 위와같이 에러가 발생합니다. 이건 꼭 CEGUI가 아니더라도 발생할 수 있는 에러같네요.

 프로젝트 속성의 매니페스트 도구 -> 입력 및 출력에서 매니페스트 포함을 '아니요'로 설정합니다. 에러가 발생하는 모든 프로젝트를요. 아마 거의 다 에러가 난 듯합니다.

 실행에 필요한 의존성 모듈은 2010을 지원하니까 2010용으로 설치해줍니다.

 그런데 실행하는데 exe 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다. 이러네요. 디버그인데 왠 Sample_FirstWindow.exe를 찾고있는건지...

 VS 2008용을 2010으로 컨버팅하면서 문제가 생긴듯 합니다. 해결은 안되서 빌드 된 파일을 직접 실행했습니다.

VS 2003에서는 뻑나던것이 2010에서는 잘되네요.

cocos2d-x Easy to create multi-platform projects on Windows

이미지
오랜만에 반가운? cocos2d-x 포스팅입니다. 지난번에 cocos2d-x project-creator을 이용해서 맥에 멀티플랫폼 프로젝트를 생성해 봤습니다. 제 맥이 맥으로 부팅하면 상태가 메롱이라 주 개발 환경을 윈도우로 바꿨습니다. 그래서 이번에는 Windows 환경에서 project-creator을 이용해 멀티플랫폼 프로젝트를 만들어보겠습니다.

 cocos2d-x 2.1rc0-x-2.1.2-hotfix 버전으로 진행합니다. 기존 2.1.2와 다른건 CCUserDefault 쪽 문제가 수정된 것입니다.

 먼저 Python을 설치해줘야합니다. 이것은 따로 링크로 정리했으니 참고하세요.

 이제 cocos2d-x 설치 디렉터리의 tools/project-creator 디렉터리로 이동 후 맥에서 처럼 명령어를 입력했는데요, 왠 SyntaxError: invalid syntax 가 발생하네요. 일단 맥에서 정리했리했던 명령어를 다시 복사 붙여넣기 해보면 아래와 같구요.

python create_project.py -project TestProj -package com.WWForever.Game -language cpp

 저는 일단 위와같이 실행했습니다. 파이썬 스크립트 뒤에 옵션이 있습니다.
-project - 프로젝트 이름-package - 안드로이드 패키지 이름-language - 개발 언어 지정( cpp, lua, javascript )

 아무튼 에러를 확인해보니 create_project.py가 파이썬 2.7을 기반으로 만들어졌더군요. 파이썬이 3.x로 가면서 많은 개선이 이루어져 2.x와의 호환성에 살짝 문제가 있는 모양입니다. 그래서 기존에 설치했던 3.3.1을 지우고 2.7.4로 설치해줬습니다.

 파이썬 2.7.4로 설치했다면 위와같이 시스템 환경 변수에 등록해줘야합니다. 기존에 파이썬 설치 포스팅에 자세하게 내용 추가해 놨으니 링크를 참고하세요.

 이제 다시 통합 프로젝트를 생성해보면 잘 됩니다.

 멀티 플랫폼 프로젝트 생성이 완료되었습니다. 맥과의…

최고의 개발 IDE Visual Studio 2012를 무료로 사용해보자. Visual Studio 2012 Express 설치 및 Update 2 적용

이미지
작년부터 Xcode다 이클립스다 쓰고 있지만, 뭐니뭐니해도 최고의 IDE는 비주얼 스튜디오죠. 가장 최근에 나온 VS 2012는 역대 최고로 좋은 것 같습니다.
Visual Studio 2012 Ultimate -  26,400,000원Visual Studio 2012 Premium - 12,101,000원Visual Studio 2012 - 843,000원  정확하지는 않지만 소비자 가격이 위와 같습니다. 이 좋은걸 개인이 사서 사용하기에는 금전적인 부담이 있는게 사실이죠. 요즘 인디개발이다 1인개발이다 인기인데 이런 소규모 팀에서 저런 부담스런 가격을 지불하고 사기는 힘들죠. 본전이 뽑힐지도 모르는 상황에서요.

 그래서 Visual Studio 2005버전부터 나왔던 무료버전인 익스프레스 버전을 이번에 설치하는 것을 정리해보고자 합니다. 무료버전이지만 개인이 사용하기에는 크게 부족함이 없다고들 합니다. 상용 프로그램 개발에 사용해도 되구요.


1. Visual Studio 2012 Express 설치

마이크로소프트사의 비주얼스튜디오 한국어 사이트에 접속 후 오른쪽 위에 있는 다운로드를 클릭합니다.

 다운로드 페이지입니다. Visual Studio Express 2012를 클릭합니다.

 설치할 Visual Studio Express 2012 종류를 선택합니다.

Visual Studio Express 2012 for Web - ASP.NET 4.5와 Windows Azure 최신 개발 툴킷, 실버라이트 개발 환경등을 포함한다.Visual Studio Express 2012 for Windows 8 - Windows 8에 새로 추가된 Windows Store 앱을 만들기 위해 필요한 개발 도구.Visual Studio Express 2012 for Windows Desktop - Visual C#, Visual Basic .NET, Visual C++ Express를 통합한 개발 도구.Visual Studio Express 2012 for Windows Phone -…