Article ID: 191669 - Last Review: October 3, 2005 - Revision: 3.2

You may receive an "error LNK2001 unresolved external symbol __chkesp" error message when you build a project with Visual C++ 6.0

System TipThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
This article was previously published under Q191669

On This Page

Expand all | Collapse all

SYMPTOMS

When building a project with Visual C++ 6.0, you may get the following linker error:
error LNK2001: unresolved external symbol __chkesp

CAUSE

The new compiler stack-checking feature requires you to link with the C run-time library.

RESOLUTION

Either link with one of the C run-time libraries or disable the compiler stack-checking feature (remove /GZ from the compiler switches).

STATUS

This behavior is by design.

MORE INFORMATION

Steps to reproduce the behavior

Sample code

   // test.cpp
   // compile with: cl /GZ test.cpp /link /nod
   void f() {}
   int main ()
   {
      f();
      return 0;
   }
				

APPLIES TO
  • The C Run-Time (CRT), when used with:
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
Keywords: 
kbtshoot kberrmsg kbcompiler kbprb KB191669