Cry about...
MS-Windows Troubleshooting
error LNK2001: unresolved external symbol __endthreadex
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:
- Go to Project Settings and select the 'C/C++' tab.
- Select 'Code Generation' in Category.
- Set ‘Use run-time library’ to either ‘Debug Multithreaded’ (for
debug builds) or ‘Multithreaded’ (for release builds).
My thanks to PHAM Duy Minh for pointing out a missing step
in this sequence.
The following additional information has been contributed by Sujith Joseph:
There is another way of getting:
error LNK2001: unresolved external symbol __endthreadex
In Projects|Settings|General forgetting to set "Using MFC in a Static
Library". If you do this in your debug build you get:
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external
symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol
__beginthreadex
If you do forget to set this option in the release build you get:
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external
symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol
__beginthreadex
|