!n5u Story

CString 쓸때.. 본문

Knowledge Story

CString 쓸때..

insparrow 2007. 3. 8. 10:30

CString 쓰려고,
#include <afx.h>
하고 컴파일시 에러;;
Thread 관련인가.....
MFC DLL 사용하게 하면 해결 되는데.....
구글링 검색한걸 보니... multithread부분만 바꿔줘도 되는군요..

프로젝트 설정 부분은 항상 난감해;;;
알지 못하는게 많아... 초반 에러의 주 원인인가....



window32 application으로 프로젝트를 생성한 후,


MFC 코딩을 하려고 컴파일을했더니 다음과 같은 에러가 떴다.


nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/MFCOpenGL.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.


구글 검색을 해보니


Symptom:

Microsoft Visual C++ generates the link error:

uafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
uafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

Possible Cause:

A library that is being used was built as a multithreaded DLL, however the application is only single threaded.

Remedy:

Change the application to multithreaded. To do this:

  1. Go to Project Settings and select the 'C/C++' tab.
  2. Select 'Code Generation' in Category.
  3. Set ‘Use run-time library’ to either ‘Debug Multithreaded’ (for debug builds) or ‘Multithreaded’ (for release builds).

라는 결과가 나온다.


VC++ 6.0에서

Project > setting > General > Microsoft Foundation Classes:

에서 Use MFC in a Static Libary를 선택해주니 문제 해결

Share Dll 해도 됨.

반응형
Comments