본문 바로가기

IT

error LNK 2005 xxxx이(가) MSVCRT(D).lib 혹은 LIBCMT(D).lib 에 이미 정의되어 있습니다.. 오류날때 대처방법 error LNK2005: _printf이(가) MSVCRTD.lib(MSVCR100D.dll)에 이미 정의되어 있습니다. F:\Project\GGangster\GGangster\libcmtd.lib(printf.obj) ...... ..... 수많은 오류가 나왔다.. 이와 같은 설정의로 에러를 경고로 나오게끔 하는 방법이 있지만 근본적인 해결방법도 아니고 수없이 많은 warning도 보기 좋지 않다.. 일단 이 오류가 나오는 원인은 빨간 색 부분의 런타임 라이브러리때문에 생기는 문제이다... 프로젝트를 진행하다 보면 외부 라이브러리를 많이 사용하게 되는데. 외부 라이브러리는 MT(d)로 컴파일 되어있으나 내가 사용하는 프로젝트는 MD(d)로 되어 있으면 어김없이 LINK2005 오류가 발생하게 된다.... 더보기
std::tr1::bind / function 사용방법 #include #include using namespace std; using namespace std::tr1::placeholders; // tr1::bind에서 _1을 쓰기위한 namespace class Test { public: typedef int result_type;// operator()을 위해서 꼭 써줘야 된다! public: int operator() (int k) const { cout 더보기
일리히트 Irrlicht 1.7 버전 이상에서 한글 입력 IME 사용하기 일리히트에서 한글 출력하는 방법은 Win32 프로시저에서 IME메세지를 이용해서 입력받습니다.. 일단 Irrlicht 프로젝트를 여시면.. 필터기준의로 Irrlicht/irr/device/CIrrDeviceWin32.cpp 란 파일이 있습니다. bool CIrrDeviceWin32::run() 함수 안에 while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) 아래부분에 TranslateMessage(&msg); 추가 해줌니다. 그리고 난뒤 메세지 프로시저 안으로 가신뒤에 switch (message) 아래부분 적정한 위치에 아래와 같은 문장을 추가시켜주시면 한글을 사용할수가 있습니다.. case WM_IME_CHAR: { dev = getDeviceFromHWnd (hWn.. 더보기
일리히트 Irrlicht 1.7 버전 이상에서 한글 출력 사용하기 Irrlicht 좋은 엔진임에는 분명하나 한글 입출력에 문제가 있습니다... 한글 출력하는데에는 여러 라이브러리들이 있어서 사용하기 쉬우나.. 입력은 아직도 많이 힘들더군요..ㅠ.ㅠ 먼저 한글 출력하기.. 일리히트 포럼.. http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=37296&highlight=i18n 여기에서 irrUstring.h와 CGUITTFont.zip 을 받습니다. 그리고 http://freetype.sourceforge.net/index2.html 이곳에서 FreeType2 최신버전의 소스를 받습니다.. 2011/5/5일 현재 2.4.4 버전이 최신버전이네요.. Freetype을 소스 컴파일하고.. 참고로 검파일 하실때에는 MTd MT .. 더보기
msado15.dll를 이용한 oledb사용시 CreateInstance(__uuidof(Connection)) 실패할때.. 빌드한 환경 windows7 Ultimate k 64 sp1 visual studio 2010 sp1 컴파일한 컴터에서는 아무런 이상없이 너무나도 잘된다.. 그런데 다른 곳에서 하면 db connect에러가 자꾸 나온다.. 도대체 뭐가 문제인지 몰라서 온갓곳을 다 찾아봤지만.. GG 안되는 컴터에 remode debuger 설치해놓고 디버깅해본결과 #import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename( "EOF", "adoEOF" ) no_namespace ......CreateInstance(__uuidof( Connection )); ......Com객체를 생성하지 못하는것이였다.."msado15.dll" 버전이 windows 7.. 더보기
error LNK2001: _IID_IWICImagingFactory 외부 기호를 확인할 수 없습니다. visual studio 2010 sp1을 으로 올리고 갑자기 이런 lib 링크 오류가 떴다... 저걸로 열심히 구글링 해봐도 #include #include 요것만 추가하라고 나오고.. windows sdk include했는지 확인하라고나 하고 .. 어찌어찌해서 알아낸 방법. #pragma comment(lib,"Windowscodecs.lib") lib부터 찾아봤어야 했는데... 더보기
.NET에서 버전이 틀린 Assembly 사용하기. MFC로는 짜기 귀찮은 나머지 C#으로 급하게 툴하나를 만들려고 하는도중.. Directx SDK 2007 버전 이후로는 Managed버전을 만들지 않는다는 절망적인 사실을 접했다.. .NET Freamwork 2.0 이후로는 사용할수 없다는 말... 흑.. MS에서야 .net계열에서는 XNA를 밀고 있어서 당연한 조치라고 하겠지만... C#에서 간단한 툴만들고자 XNA를 배우는건.. 그냥 MFC로 만들고 말지 -ㅅ-; 열심히 구글링 해본결과 나같은 사람이 많았던듯.. 결론은 C# 프로젝트를 보면 app.config란 파일이 있다. 파일을 열고 이렇게 바꿔주면 끝!! 적용은 Directx에서 밖에 안해봤지만.. 뭐.. 다른것도 잘 되겠지..;;; 더보기