IT 취미생활.  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
'Programming/Error Case'에 해당하는 글(13)
2008.06.27   "msvcrtd.lib" 링크시 문제
2008.03.09   HEAP[xxxxx.exe]: Invalid allocation size - 90909048


"msvcrtd.lib" 링크시 문제
LNK4098: defaultlib "msvcrtd.lib" conflicts ... 학습중(Windows)

C Run-Time Library는 standard library를 말합니다.

printf, strcpy, malloc, new, cin, cout 등등이  이 라이브러리에 포함됩니다.


종류는 꽤 많은데, 별로 복잡하지는 않습니다.

libc.lib : c언어에 해당하는 라이브러리 입니다. printf, strcpy, malloc 등이 구현되어 있습니다.

libcmt.lib : libc 와 동일합니다만, 이것은 멀티쓰레드 용입니다.

msvcrt.lib : libc 와 동일합니다만, 이것은 dll 용입니다.

               ( 위의 두가지는 static link 로 사용되고, 이것은 dynamic link 로 사용됩니다.)



libcp.lib : c++언어에 해당하는 라이브러리 입니다. cin,  cout, new  등이 구현되어 있습니다.

libcpmt.lib : libcp 와 동일합니다만, 이것은 멀티쓰레드 용입니다.

msvcprt.lib : libcp 와 동일합니다만, 이것은 dll 용입니다.

               ( 위의 두가지는 static link 로 사용되고, 이것은 dynamic link 로 사용됩니다.)



그러므로, 위의 라이브러리는 두개의 그룹중에 하나씩만 포함이 되어야 합니다.

만약, libc 와 msvcrt 가 둘다 링크되면 중복선언 되었다는 에러가 납니다.


하지만, 다른 프로젝트에서 가지고 왔다면, 이러한 링크옵션 수정하는 것이 쉽지 않을 수 있습니다.

프로젝트 구조를 보아야 알 수 있으나, 한가지 해결방법은....


링크에서 메세지에도 나와 있듯이, 링크 옵션에 다음을 추가 하십시오.

/NODEFAULTLIB:library

 

library 에 포함시키지 말아야 할 라이브러리를 추가하시면, 이 라이브러리는 링크에 포함되지 않습니다.

 

그러면, 중복 선언 에러는 해결 할 수 있습니다.



 출처 : Devpia / VC++ / 질문답변 / 572567

작성자 : 김무석(kim790815) 님



HEAP[xxxxx.exe]: Invalid allocation size - 90909048
==== 문제 및 현상 ====
CFileDialog 를 사용하여 파일 Picker를 추가 후, 파일 네비게이션 쪽 을 클릭 하니....
아래와 같은 메시지를 뿜으며 죽었다.


HEAP[test.exe]: Invalid allocation size - 90909048 (exceeded 7ffdefff)
First-chance exception in xxxxx.exe (KERNEL32.DLL): 0x8007000E: (no name).


==== My 문제해결 방법 ====
내 App에서 COM을 사용하여
CoInitializeEx(NULL, COINIT_MULTITHREADED); 를 사용하고 있었음


구글링을 해보니....짱께 싸이트에서.......
CoInitializeEx(0, COINIT_APARTMENTTHREADED);
이용하니 문제 해결


====  Why???? ====
아시는 분은 코멘트 달아주세요.-0- 귀차니즘.


BLOG main image
취미생활
 Notice
 Category
분류 전체보기 (191)
매일매일갱생 (83)
서버개발 (1)
임베디드개발 (12)
Programming (80)
개발잡념 (10)
C (6)
C++ (5)
Java (4)
알고리즘 (5)
VC++ (11)
DirectShow (5)
OS (1)
Error Case (13)
Personal Projects (6)
유용한 프로그램 (0)
 TAGS
영어 이메일 서태지 Debug english email Java isdbt 티스토리 초대장 debugging VC++ 출장 음식 project Error Case Brazil 티스토리초대 개발자 DVB-T English 벨소리 변경 Algorithm Linux 군대 Windows Mobile6.0 퇴사 C Dshow Wince5.0 It ISDB-T MP3 1seg spam mail 미라지폰 DVB M480 warning C++ 알고리즘 DirectShow
 Calendar
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 Recent Entries
 Recent Comments
 Recent Trackbacks
 Archive
 Link Site
zextor
괴짜 프로그래머의 일상사~@@
Gag & Peace, and more..
Kazakhstan Almaty.......
Min-A
Sadgarret
Steve Yoon's log
가슴 뛰는 삶을 살아라
오스틴 파워
GUI sin
melanie parker_Lady
제레미의 TV 2.0 이야기..
 Visitor Statistics
Total :
Today :
Yesterday :
rss