비주얼 스튜디오 UTF8-BOM 플러그인 (1)

Posted at 2010/06/27 18:33// Posted in msvc
요즘 아이폰이 인기입니다.
그래서 아이폰 프로그래밍도 인기입니다.
아이폰 프로그래밍은 매킨토시에서 해야 합니다.
매킨토시는 BSD 다시 말해 유닉스 기반 운영체제입니다.

유닉스라... 익숙하지 않습니다.
더군다나 기존에 만들었던 코드는 전부 윈도우 기반입니다.
영희 철희 크로스를 시도 해야합니다.

그런데 한가지 문제점이 있습니다.
한글 윈도우 기본 인코딩은 CP949 입니다.
유닉스의 기본 인코딩 방식은 UTF8 입니다.

파일 변환이 필요합니다.

아하!
앞으로는 UTF8 기반으로 작업하면 되겠구나!


하지만...
앞에서 말한 것처럼 한글 윈도우에서 돌아가는 MS 제품의 기본 인코딩은 CP949 입니다.
비주얼 스튜디오에서 새로운 파일을 만들면 무조건 CP949 인코딩이 됩니다.

기본 인코딩을 바꿀 방법이 없을까?
구글링을 해보면 3가지 방법이 나옵니다.


1. 비주얼 스튜디오 파일 메뉴에 있는 Advanced Save Options... 를 사용해
파일 하나 하나마다 UTF8 인코딩으로 변환한다.

2. 윈도우 기본 언어 설정을 영어로 변경한다.


3. 비주얼 스튜디오 모든 템플릿 파일을 찾아 인코딩을 UTF8 로 변경한다.
( Common 7\IDE\ItemTemplates )

참고:
http://devblog.ailon.org/devblog/post/2007/11/05/File-Encoding-in-Visual-Studio.aspx

모두 쉣 -ㅅ- 소리 나오는 방법들이네요.


왜 상식적인 방법...
예를 들면 기본 인코딩 설정이나 파일별 인코딩 태그 등을...
지원하지 않는건지 모르겠습니다; (이미 지원하고 있다면 좀 알려주세요 T_T)! 저의 검색 능력으로는 실패입니다. )


Tools/Options/Environment/International Settings


Language:
English
Same as Microsoft Windows


이런 옵션이 있음에도 불구하고 파일 기본 인코딩은 무조건 윈도우 기본 설정을 사용하는군요 =ㅁ=);; ㄷㄷㄷ;


Tools/Options/Environment/Document
[ ] Save documents as Unicode when data cannot be saved in codepage

http://stackoverflow.com/questions/696627/how-to-set-standard-encoding-in-visual-studio

게다가 현재 코드 페이지로 저장이 안되는 문자가 나올때만 유니코드로 저장시킨다는 공포의 옵션까지 ㄱ-
영어 윈도우 사용자,  한글 윈도우 사용자, 일본 윈도우 사용자가 뒤섞인 상황에서 벌어질 지옥이 생각나네요.



어쨌든 여러가지 해결책을 생각해봤습니다.


해결책1: 퍼포스를 사용한다.

퍼포스를 사용하면 파일 타입을 수정해서 unicode 형식으로 저장하고
윈도우에서는 P4CHARSET 을 UTF8-BOM 으로 설정하고
유닉스에서는 P4CHARSET 을 (BOM 이 없는) UTF8 로 설정하면 됩니다. 야호!


단점은;
일단 퍼포스를 구입해야합니다.
2개까지는 무료이고 계정당 워크 스페이스 제한은 없지만;
개발팀은 대개 2명보다 많은데다; 계정 2개로 나눠 모든 사람이 사용하면 버전 관리가 쉽지 않습니다.
결국 개발팀 숫자 만큼 사야하는데 비용이 들어가는 만큼 쉬운 결정은 아닙니다.

SVN 과 퍼포스는 완전히 다른 작업 스타일을 지원합니다.
SVN 은 일단 작업하고 나중에 커밋하지만, 퍼포스는 먼저 체크아웃하고 작업한 다음 서브밋해야 합니다.
물론 퍼포스를 써도 SVN 처럼 사용할 수는 있지만; 느리고 불편합니다 ㄱ-

unicode 파일 형식 관리가 의외로 쉽지 않습니다.
퍼포스가 자동으로 unicode 여부를 판단하는데; 오진이 많습니다.
더군다나 한번 잘못올라가면 복구가 되지 않고 새로 올려야 합니다.
(몇번 파일 에러나면 p4 typemap 을 사용해 디폴트 binary 로 설정하게 되더군요; )



해결책2: SVN 을 수정한다.

svn 에는 파일별 프로퍼티를 지원합니다.
svn:eol-style 이란 프로퍼티가 있어서 운영체제에 따라 \r\n 으로 저장할지 \n 으로 저장할지 설정할 수 있습니다.
하지만 안타깝게도 text-style 같은 프로퍼티가 없기 때문에 직접 수정한 다음 빌드해서 사용해야합니다.
능력만 된다면 훌륭한 해결 방법인데 안타깝네요 ㄱ-



해결책3: 개발툴을 수정한다.

gcc 에서 다양한 인코딩을 지원하게 하거나, 비주얼 스튜디오에서 utf8 을 사용하면 됩니다.

구글링 해보면 gcc 에서 utf8-bom 문서를 컴파일 못한다고 나와있던데;
어제 linux 와 apple 에서 테스트해보니 잘 되더군요; 문제를 호소하는 글들이 다들 2008년 글인걸 보면
최근 gcc 컴파일러에서는 버그가 수정된게 아닐까 싶습니다. (혹시 제가 잘못 알고 있는 거라면 알려주세요~ )

만약 지원 안될 경우를 대비해서 파이프를 사용해 인코딩을 변환하는 놀라운 방법이 소개되어있더군요;
(역시 코드 구루들은 대단하네요; )

애플에서 utf8-bom 이 컴파일 된다면 문제는 간단해집니다.
비주얼 스튜디오에서 utf8-bom 문서 변환만 쉽게 할수 있으면 되죠 ~(-_-)~


그래서 비주얼 스튜디오 utf8-bom 자동 붙이기 플러그인을 만들어 보았습니다! (다음에 계속... )
이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/06/27 18:33 2010/06/27 18:33
간혹 Visual Studio 로 빌드한 결과물이 UAC 없으면 삭제가 안되는 문제가 있었는데~

cpascal 님께서 해결을 해주셨습니다 >ㅁ<)!

권한 체크
icacls [디렉토리 경로]

하위 트리 권한 체크
icacls [디렉토리 경로] /t

C:\>icacls c:\project\
c:\project\ BUILTIN\Administrators:(OI)(CI)(F)
            NT AUTHORITY\SYSTEM:(OI)(CI)(F)
            계정 이름과 보안 식별자 사이에 매핑이 이루어지지 않았습니다. (F)
            CREATOR OWNER:(OI)(CI)(IO)(F)
            BUILTIN\Users:(OI)(CI)(RX)
            BUILTIN\Users:(CI)(AD)
            BUILTIN\Users:(CI)(WD)

1 파일을 처리했으며 0 파일은 처리하지 못했습니다.


문제의 원인은 포멧을 하지 않고 Windows 7 을 설치해서

프로젝트 폴더 그룹이 "포멧 이전 사용자" 와 "CREATE OWNER" 로 되어있던게 문제였네요~

"포멧 이전 사용자"와 "CREATE OWNER" 를 지운 다음

"Authenticated Users" 추가로 문제를 해결했습니다 - ㅁ-)/

이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/06/07 18:40 2010/06/07 18:40

VC6, VC7 설치중...

Posted at 2010/03/15 13:28// Posted in msvc
주말동안 데스크탑을 윈도우7 으로 밀고
야심차게-_- VC6.0 부터 설치했건만...
...

쉽지 않군요. orz;;

윈도우7 에 바로 설치하는 것은 포기하고
그냥 Virtual PC - XP Mode 기반으로 설치작업중입니다.

사용자 인터페이스가 좀 허접하긴 하지만
운영체제 제작사에서 만든거라 그런지 VM 웨어보다는 편한 것 같습니다.

윈도우7 시작 메뉴에서 바로 실행가능하다는 점이 훌륭하군요!

일단 VC6.0 SP5 설치는 성공했고~
VC .NET 2003 설치중입니다 -_- 하아



이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/03/15 13:28 2010/03/15 13:28

vcproj/sln version convertor

Posted at 2010/03/10 17:00// Posted in msvc
무려 12년 전 -_-
...
철 없던 시절부터 만들었던 게임이
아직도 서비스 되는 행운(-_-) 으로 인해

요즘 만져야 하는 컴파일러가 vc6 부터 vc9 까지...

다양하다보니 프로젝트 파일 관리만으로도 정신이 없는 상황입니다.

평소 세심한 성격이 아니고
매의 눈을 가진 것도 아닌지라
프로젝트 포팅에 어려움을 겪고 있었는데

동호님께서 아래와 같은 멋진 툴을 알려 주시는군요! >ㅁ<)b

http://sourceforge.net/projects/vspc/

비주얼 스튜디오 프로젝트 버전 별로 변환시켜주는 프로그램입니다.

정말 좋습니다 T _T)/

이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/03/10 17:00 2010/03/10 17:00
vc2005 프로젝트를 vc2008 프로젝트로 변환시 발생하는 것으로 보인다.

컴파일러 경고(수준 3) C4748

오류 메시지

함수에서 최적화를 사용하지 않으므로 /GS를 지정해도 로컬 버퍼 오버런에서 매개 변수 및 지역 변수를 보호할 수 없습니다.
/GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function

기본적으로 활성화되어 있는 /GS(버 퍼 보안 검사)는 함수의 최적화 기능을 사용하지 않는 한 함수의 매개 변수와 지역 변수에서 로컬 버퍼 오버런이 발생하지 않도록 보호할 수 없습니다.

함수에 jmp 또는 jcc와 같은 흐름 제어 문이 포함된 인라인 어셈블리 코드가 있는 경우 컴파일러는 최적화를 비활성화합니다.

이 경고를 해결하고 /GS를 사용하여 로컬 버퍼 오버런에서 매개 변수와 지역 변수를 보호하려면 최적화를 활성화해야 합니다.

http://msdn.microsoft.com/ko-kr/library/ms235398%28VS.80%29.aspx

MSDN 도움말을 찾아보니...

아아-_- ... 뭘 어떻게 하라는건지...;; orz;;


대부분의 구글 검색 결과도 MSDN 도움말의 답습일뿐
뽀족한 해결책은 제시하지 못하고 있는 상황에서 방황하던 중...

ogre 포럼에서 아래와 같은 주옥같은 답변을 찾아내게되었다 -_-)/

I've found the error: -
저는 에러를 찾았어요 >ㅁ<)/

Visual Studio 2008 SP1 turns off /O2 optimization when upgrading from VS 2005. Even if it *Looks* like its on, it may not be. Check that its actually in the command line (also - it is Bold in the IDE if its enabled).
비주얼 스튜디오 2008 SP1 은 O2 최적화를 꺼버립니다. VC2005 에서 업그레이드할때 말예요! 켜진 것처럼 보이지만, 그렇치 않습니다. 실제로 적용도는지 확인할 필요가 있어요. 커맨드라인에서 말이죠. ( IDE상에서는 굵고 진하게 볼드체로 되어있어야 합니다. )

I hope this helps someone googling :)
구글링을 통해 다른 분들에게 도움이 되었으면 좋겠내요 ^_^

http://www.ogre3d.org/forums/viewtopic.php?f=10&t=49787

와 >ㅁ<)/ 천사님!!


실제 Configuration Properties 의
C/C++/Optimization/Optmization 속성을 보면 볼드체가 아닌걸 확인할 수 있었다.

직접 항목을 다시 선택해주면 볼드체로 바뀌며 다시 링크를 해보면 C4748 경고는 사라지게 된다. ~(-_-)~








이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/02/11 22:39 2010/02/11 22:39

msvc 외부 솔류션 관리 정책에 대해서

Posted at 2010/02/02 13:10// Posted in msvc
http://www.freebsd.org/ports/

FreeBSD 의 솔류션 포팅 검색 페이지입니다.
만약 devil 이 사용하고 싶다면 검색 상자에 devil 라고 입력하면 됩니다.
그럼 어느 위치에 devil 포트가 존재하는지 나옵니다.

그럼 사용자는 cd /usr/ports/graphics/devil 에 들어가서
make install 만 입력하면 알아서 소스를 받아서 설치하게 됩니다.

...; 사실 이런 수준까지 개인 혹은 작은 회사 수준에서 구축하는건 힘들다고 봅니다.

여기에서 중요하게 체크할만한 부분은 버전 관리입니다.

devil-1.7.8

프로젝트명-버전

살아있는 프로젝트는 새로운 기능에 대한 요구와 버그에 대한 수정으로 인해 계속 버전이 올라가게 됩니다.
문제는 버전업으로 인해 기존 프로젝트가 컴파일이 안되거나 오작동을 할 수 있다는 사실입니다.
즉, 외부 솔류션을 사용한다면 사용하는 다양한 솔류션에 대한 버전을 관리해야 한다는 것이죠.

예를 들어 python 은 python-2.4, python-2.5, python-2.6 은 거쳐오면서 새로운 기능 추가와 버그 수정이
이루어졌지만 큰 틀은 변화가 없기 때문에 대개 큰 문제없이 빌드가 됩니다. 설령 문제가 되더라도 변경된점을
잠깐만 봐도 수정이 가능합니다.

하지만 python-3.0 은 베이스 부분에 매우 큰 변화가 있기 때문에, 적용하기 위해서는 꽤 많은 노력이 필요합니다.
덕분에 아직까지도 python-3.0 프로젝트는 별로 없는 상황이죠.


어쨌든 외부 솔류션을 사용하는 입장에서 해당 프로젝트가 어떻게 진행될지는 모릅니다.
그냥 현재 버전을 알아서 고쳐서 쓸 수도 있겠지만, 언젠가는 새로운 버전의 솔류션을 써야할 때가 다가오게 됩니다.
python-2.6 을 쓰면서 마이너 업그레이드 버전인 python-2.7 과 메이저 업그레이드 버전인 python-3.0 이 동시에
설치 되어 있어야 합니다.

external/python-2.6/bin
external/python-2.6/include
external/python-2.6/libs

external/python-2.7b/bin
external/python-2.7b/include
external/python-2.7b/libs

external/python-3.1/bin
external/python-3.1/include
external/python-3.1/libs

이제 남은 문제는 어떻게 내가 원하는 버전을 사용하느냐 입니다.

솔류션 별로 사용해야 헤더는 python.h 로 동일합니다.


#include <python.h>


쉽게 생각해낼 수 있는 방법은 프로젝트에 추가 INCLUDE 와 LIB 디렉토리를 연결해주는 것입니다.

-I../../../../external/python-2.6/include
-L../../../../external/python-2.6/libs

난감한 점은 몇개가 될지 모르는 상대 경로와 디렉토리의 개수입니다.

사실 솔류션별 디렉토리 개수는 감내할만 한데,
상대 경로가 제일 걸림돌입니다. msvc 에서 단축 상대 경로만 지원해주면 좋을텐데 방버을 잘 모르겠습니다.

$(EXTERN)/python-2.6/include
$(EXTERN)/python-2.6/lib

만약 이런 정도만 지원되면 꽤 쓸만한 솔류션이 될 것으로 보입니다.
단점은 새로운 프로젝트를 만들때마다 조금 손이 많이 가서 귀찮아진다는 것입니다.
아무래도 자동화된 설정 유틸리티를 필요로 하죠~


또 다른 방법은 아예 솔루션 폴더명을 포함시키는 방법입니다.


#include <python-2.6/python.h>

#pragma comment(lib, "python-2.6-x86-vc80-MT.lib")


위의 방법의 장점은
외부 솔류션을 사용하는 입장에서 매우 편하다는 것입니다.
#ifdef - #endif 를 사용해서 다음 버전을 사용해보는 것도 간단합니다.

단점은 외부 솔류션을 일일이 손봐줘야 될 필요가 있다는 것입니다.
사용하는 외부 솔류션이 규모가 조금 클 경우 헤더 교체 작업이 꽤 귀찮아질 수 있습니다.
라이브러리명도 손봐줘야 하죠.

별도 외부 솔류션 관리 인력이 존재한다면 추천할만한 방법입니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/02/02 13:10 2010/02/02 13:10

msvc 외부 솔루션 관리 필요성에 대해서

Posted at 2010/02/02 12:41// Posted in msvc
요즘 프로젝트를 진행할 때는 외부 솔류션을 사용하는 것이 매우 흔한일입니다.

zlib, tinyxml, devil, boost, expat, freetype, wx 같은 오픈 소스 솔류션 부터
directx, nvidia-texture-tools, fbx 무료 바이너리 솔류션이나
pathengine, speedtree, granny, ipp, mss 같은 유료 바이너리 솔류션까지
하나의 프로젝트에 수십 종류의 크고 작은 외부 솔류션이 포함되게 됩니다.

각 솔류션들을 솔류션 버전, 컴파일러 버전, 쓰레드 모델, CPU 모델 등에 따라 잘 분류해 놓지 않으면
새로운 버전의 솔류션이 나와도 적용하지 못한다던지, 서로 다른 쓰레드 모델(MD, MDd, MT, MTd)간의
충돌로 인한 링크 에러나 런타임 에러가 발생하게 됩니다.

freebsd 나 linux 등에서는 운영체제 레벨에서
다양한 솔류션들을 일관성있게 사용할 수 있도록 지원을 해주는데,
윈도우의 경우는 통합적인 지원이 없는 관계로 각 솔류션들의 배포본 설치에 의존하는 경우가 많아
혼란스러운 경우가 많습니다.

상용 프로젝트의 경우는 미리 빌드된 바이너리를 배포하기 때문에 어느정도 정리가 된 경우가 많지만,
대부분의 오픈소스 프로젝트는 당시 가장 많이 사용되는 visual studio 만 지원하는 경우가 많습니다.
미리 빌드된 바이너리도 MD, MDd 인 경우가 많죠.

boost 정도가  bjam 을 사용해서 다양한 컴파일러/CPU/쓰레드 모델을 지원해주고 있습니다.


요즘 앱스토어가 등장하는 트렌드로 보아
조만간 윈도우에서도 자동화된 솔류션 관리 시스템이 채용되지 않을까 기대하고 있습니다만...
그전까지는 직접 windows ports 시스템을 구축해야 할 필요가 있습니다.







이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/02/02 12:41 2010/02/02 12:41

vc2005 __RPC__ 컴파일 에러

Posted at 2009/12/16 13:59// Posted in msvc
TSF 관련 코드를 빌드하던중 아래와 같은 에러가 발생!
1>c:\program files\microsoft sdks\windows\v6.0\include\textstor.h(270) : error C2061: syntax error : identifier '__RPC__in'
1>c:\program files\microsoft sdks\windows\v6.0\include\textstor.h(275) : error C2061: syntax error : identifier '__RPC__in_opt'
1>c:\program files\microsoft sdks\windows\v6.0\include\textstor.h(279) : error C2061: syntax error : identifier '__RPC__out'
1>c:\program files\microsoft sdks\windows\v6.0\include\textstor.h(282) : error C2061: syntax error : identifier '__RPC__out'
1>c:\program files\microsoft sdks\windows\v6.0\include\textstor.h(288) : error C2061: syntax error : identifier '__RPC__out'
1>c:\program files\microsoft sdks\windows\v6.0\include\textstor.h(294) : error C2061: syntax error : identifier '__RPC__out_ecount_part'
해결 방법은~

stdafx.h 에 아래 내용을 추가 ~(-_-)~

[code c++]
#include <rpcsal.h>


http://www.tech-archive.net/Archive/Media/microsoft.public.windowsmedia.sdk/2007-02/msg00105.html
이올린에 북마크하기(0) 이올린에 추천하기(0)
2009/12/16 13:59 2009/12/16 13:59

DevIL 윈도우에서 빌드하기

Posted at 2009/05/18 11:27// Posted in msvc
게임에서 잡다구리 이미지 포멧을 읽을때 DevIL 을 사용하고 있습니다.
몇년간 대규모 업데이트가 없어서 잊고 살다가...
쓰레드 모델 문제 때문에 소스를 다시 받아보려고 찾아가보니~
http://openil.sourceforge.net/

엄청 활발하게 활동하고 있는 것 같내요 -ㅁ-)/
윈도우 사용자를 위한 LibCompiled.zip 도 다시 지원하고 말이죠 햐햐 -ㅂ-

하지만 다운로드 소스는 윈도우 프로젝트 파일이 빠져있더군요 -_-;
요즘은 다들 SVN 저장소로 직접 다운로드 받기 때문인지 잘 관리가 안되는걸까요..

그래서 저도 SVN 저장소로 다운 받았습니다.
https://openil.svn.sourceforge.net/svnroot/openil/trunk/DevIL

윈도우는 의존성을 알아서 찾아야 하는데-_-;
매우 귀찮은 작업이므로 그냥 컴파일된 것도 받아서
http://downloads.sourceforge.net/openil/LibCompiled-vc8.zip

압축을 푼다음 src-IL/include 와 src-IL/lib 폴더에 복사해둡니다.

vc2005 솔류션은 projects/msvc8/ImageLib.sln 입니다.
src-IL 프로젝트 라이브러리 설정에 src-IL/lib 연결이 없으므로 연결해주시고요~

컴파일전에 include/config.h.win 을 include/config.h 로 이름을 변경하고 설정작업을
해줘야 합니다. 그냥 빌드하면 각종 라이브러리가 없다고 에러를 냅니다-_-


#define IL_NO_BLP
// #define IL_NO_BMP
#define IL_NO_CUT
#define IL_NO_CHEAD
#define IL_NO_DCX
// #define IL_NO_DDS
#define IL_NO_DICOM
#define IL_NO_DOOM
#define IL_NO_EXR
#define IL_NO_FITS
#define IL_NO_FTX
// #define IL_NO_GIF
// #define IL_NO_HDR
// #define IL_NO_ICO
#define IL_NO_ICNS
#define IL_NO_IWI
#define IL_NO_JP2
// #define IL_NO_JPG
#define IL_NO_LCMS
#define IL_NO_LIF
#define IL_NO_MDL
#define IL_NO_MNG
#define IL_NO_PCD
// #define IL_NO_PCX
#define IL_NO_PIC
#define IL_NO_PIX
// #define IL_NO_PNG
#define IL_NO_PNM
// #define IL_NO_PSD
// #define IL_NO_PSP
#define IL_NO_PXR
// #define IL_NO_RAW
#define IL_NO_ROT
#define IL_NO_SGI
#define IL_NO_SUN
// #define IL_NO_TGA
// #define IL_NO_TIF
#define IL_NO_TPL
#define IL_NO_WAL
#define IL_NO_WDP
#define IL_NO_XPM

// 중간 생략

//#undef ILUT_USE_DIRECTX8
#define ILUT_USE_DIRECTX9
//#define ILUT_USE_DIRECTX10
#define ILUT_USE_OPENGL
//#define ILUT_USE_SDL
#define ILUT_USE_WIN32


그냥 유명한 확장자 빼고는 전부 IL_NO_* 주석을 풀어주세요~
ILUT 플랫폼도 사용하고자하는 플랫폼만 남기고 주석처리합니다

컴파일하다보면 ilu_error.c 에서 다국어 에러 메시지 처리 때문에 에러를 내는데

#include "ilu_internal.h"
+#include "ilu_error/ilu_err-english.h"
+/*
#include "ilu_error/ilu_err-arabic.h"
#include "ilu_error/ilu_err-dutch.h"
-#include "ilu_error/ilu_err-english.h"
#include "ilu_error/ilu_err-french.h"
#include "ilu_error/ilu_err-german.h"
#include "ilu_error/ilu_err-italian.h"
#include "ilu_error/ilu_err-japanese.h"
#include "ilu_error/ilu_err-spanish.h"
+*/

-
ILconst_string *iluErrors;
ILconst_string *iluLibErrors;
ILconst_string *iluMiscErrors;
-#define ILU_NUM_LANGUAGES 8
+#define ILU_NUM_LANGUAGES 1

ILconst_string *iluErrorStrings[ILU_NUM_LANGUAGES] = {
iluErrorStringsEnglish,
+ /*
iluErrorStringsArabic,
iluErrorStringsDutch,
iluErrorStringsFrench,
@@ -36,10 +38,12 @@
iluErrorStringsSpanish,
iluErrorStringsGerman,
iluErrorStringsItalian
+ */
};

ILconst_string *iluLibErrorStrings[ILU_NUM_LANGUAGES] = {
iluLibErrorStringsEnglish,
+ /*
iluLibErrorStringsArabic,
iluLibErrorStringsDutch,
iluLibErrorStringsFrench,
@@ -47,10 +51,12 @@
iluLibErrorStringsSpanish,
iluLibErrorStringsGerman,
iluLibErrorStringsItalian
+ */
};

ILconst_string *iluMiscErrorStrings[ILU_NUM_LANGUAGES] = {
iluMiscErrorStringsEnglish,
+ /*
iluMiscErrorStringsArabic,
iluMiscErrorStringsDutch,
iluMiscErrorStringsFrench,
@@ -58,6 +64,7 @@
iluMiscErrorStringsSpanish,
iluMiscErrorStringsGerman,
iluMiscErrorStringsItalian
+ */

한글도 없고 귀찮으니 영어만 남기고 제거합니다.

~(-_-)~ 이제 사용하기만 하면 됩니다~ 짜잔~
이올린에 북마크하기(0) 이올린에 추천하기(0)
2009/05/18 11:27 2009/05/18 11:27

CHM 파일을 HTML 로 변환하기

Posted at 2008/09/09 13:02// Posted in msvc
게임브리오 도움말을 프린트해보고 싶은데 (-_-);
CHM 파일은 출력기능이 꽤나 빈약하더군요
그래서 HTML 로 풀어서 보려고 관련 자료를 찾아보았습니다.

http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help

윈도우 기본 유틸 hh.exe 라는게 있더군요 ( 네이밍 센스가... orz; )
hh.exe -decompile 대상폴더 원본파일.chm

짜잔 ~(-_-)~

ps.
어차피 게임 브리오 도움말이 많이 바뀌지는 않으니...;
잘만하면 도움말 merge 기능을 만들수 있을지도 (-_-);


이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/09/09 13:02 2008/09/09 13:02
Tag ,