아직도 Visual C++ v6.0 을 사용하는 개발자들이 많을거라 생각합니다...
( 물론 저도 그 중에 한 사람이구요.. =0=;;.. )
최종사용자에게 바로 배포되는 프로그램을 만들때는 상관이 없지만...
라이브러리/모듈 형태로 다른 업체에 배포될 개발을 하는 경우는...
컴파일러의 선택도 중요합니다...
음..;; 단적인 예를 들자면...
2005 에서 빌드한 정적 라이브러리가 6.0 에서 제대로 인식이 안되는 문제 정도..??
( =0=;;; 전에 어떤 이유로 한번 테스트를 한적이 있는데 안되었던걸로 기억이..;;.. )
이런저런 이유로... 아직도 필드에선 6.0 이 꽤 많이 쓰이는 걸로 알고 있습니다..;;
C/C++ 개발을 하다보면 별도의 SDK 를 사용해야되는 경우도 생깁니다..
윈도우 시스템 프로그래밍을 위해서 Platform SDK 를 사용한다거나...
게임 프로그래밍을 위해 DirectX SDK 를 사용하듯이...
여기서.. =0= 난감한 부분이.. MS 에서 6.0 에 대한 공식지원을 중단하면서...
최신버전의 Platform SDK, DirectX SDK 를 6.0 에서 사용할 때.....
아래와 같은 링크에러가 발생하는 경우가 있습니다...
( Debug 모드로 빌드할 때 발생하는 듯한...;; )
???????.lib(??????.obj) : fatal error LNK1103: debugging information corrupt; recompile module
Error executing link.exe
[ 관련 MSDN 링크 ]
링커 도구 오류 LNK1103 : http://msdn2.microsoft.com/ko-kr/library/abz4dchs(VS.80).aspx
개체 파일 손상 : http://msdn2.microsoft.com/ko-kr/library/es67b02f(VS.80).aspx
( 물음표는.. -0-;; 경우마다 에러가 발생하는 파일이 다르기땜에;; ^^;;; 특정할 수 없어서.. )
=0=;;.. 이런 링크에러가 발생하면...
해당 라이브러리 파일을 6.0 과 호환이 되는 버전의 파일로 바꿔줘야 제대로 링크가 됩니다..
( 아.. 물론 릴리즈에서 되니까;; "개체 파일 손상" 참고해서 옵션을 바꿔주면 될수도;; :D )
인터넷을 찾아보면... 링크에러가 나는 라이브러리를 다른 이름으로 변경하라는 얘기가 많은데...
저 같은 경우... 그냥 충돌 문제가 없는 이전 라이브러리를 프로젝트 폴더에 복사해버립니다..
링커가 라이브러리를 찾을 때... 프로젝트 폴더가 우선순위가 높으니;; ㅋ...
이런 식으로 현재.. VC++ 6.0 에서 Platform SDK for Windows Server 2003 SP1 을...
같이 사용하고 있습니다..;;
에러가 나는 라이브러리 한해서는 VC98\Lib 폴더에서 복사해서 빌드를 하고~~ㅋ
물론... 바이너리 내부적으로는 어떨지 모르겠지만.. 겉으로는 별 문제가 없어보입니다..;;;
( 원래는.. 6.0 과 호환되는 마지막 버전인 Platform SDK 2003 FEB 버전을 설치했었는데;
최신 SDK 를 설치하는 과정 중에... 이 녀석이=0= 자동으로 이전 버전을 삭제해버려서;;..
좀 더 덧붙이면.. Visual C++ 2005 Express 도 같이 설치가 되어있는 상태이고..
2005 에서는 Platform SDK for Windows Server 2003 SP1..를 쓰려고 했습니다... )
Platform SDK 에 대한 이야기가 길어졌는데.. DirectX SDK 에서도 비슷한 현상이 발생합니다.
이 때도... 이전버전의 라이브러리를 프로젝트 폴더에 복사하면 해결됩니다..
.
.
뭐... 특별한 경우가 아닌 이상 이런식으로 해결이 가능하지만...;;
ㅋ 모든 경우의 테스트를 거친 것도 아니고.. 분명 다른 문제가 발생할 소지도 있다고 봅니다..;;
VC++ 6.0 으로... 별 걱정없이 SDK 들을 사용하고 싶으면..;;
6.0 과 호환되는 버전의 SDK 를 쓰는게 가장 속편할듯 싶네요..
[ VC++ 6.0 과 호환되는 SDK ]
Platform SDK : Windows Server 2003 PSDK (February 2003)
DirectX SDK : DirectX 9.0 SDK Update - (Summer 2004)
'Tip / Tech' 카테고리의 다른 글
[TIP] 유용한 프리웨어들~ (3) | 2008.05.28 |
---|---|
[TIP] Doxygen 으로 chm 만들때 한글이 깨질때~! (0) | 2008.04.24 |
[TIP] 이상한 이름의 폴더가 지워지지 않는다~?? (8) | 2007.12.16 |
[TIP] 티스토리~ 카테고리 열린 상태로~!! (8) | 2007.09.20 |
[TIP] 싸이월드 미니홈피... 링크 깔끔하게 띄우기(?) (0) | 2007.09.19 |