error LNK2001: unresolved external symbol __RTC_CheckEsp

R

Raghavendra.A.N

Hi,

I got the above error while compiling with Visual Studio .NET 7.0.
I was building a DLL (DEBUG version) for Symbian OS emulator for
windows. And it also gives error as

->error LNK2001: unresolved external symbol __RTC_CheckEsp
->error LNK2001: unresolved external symbol @_RTC_CheckStackVars@8
->error LNK2001: unresolved external symbol __RTC_Shutdown
->error LNK2001: unresolved external symbol __RTC_InitBase

And sometimes it gives error as
unresolved external symbol __security_cookie.


When I compiled this code with VC6.0 it compiled without any warnings
or error.

Herewith I am sending the .MMP file(which is project seeting file). Do
I have to include any other libraries.


SYSTEMINCLUDE \epoc32\include
SYSTEMINCLUDE \epoc32\include\libc


LIBRARY euser.lib
LIBRARY fbscli.lib
LIBRARY estlib.lib
LIBRARY ws32.lib

#if !defined(WINS)
LIBRARY libgcc.a
STATICLIBRARY egcc.lib
STATICLIBRARY edllstub.lib
#endif

#if defined(WINS)
STATICLIBRARY CHKSTK.OBJ
#endif


Help me out.
Thanks in Advance.

Regards,
Raghavendra.A.N
 
T

Tomas Restrepo \(MVP\)

I got the above error while compiling with Visual Studio .NET 7.0.
I was building a DLL (DEBUG version) for Symbian OS emulator for
windows. And it also gives error as

->error LNK2001: unresolved external symbol __RTC_CheckEsp
->error LNK2001: unresolved external symbol @_RTC_CheckStackVars@8
->error LNK2001: unresolved external symbol __RTC_Shutdown
->error LNK2001: unresolved external symbol __RTC_InitBase

And sometimes it gives error as
unresolved external symbol __security_cookie.


When I compiled this code with VC6.0 it compiled without any warnings
or error.

Sounds like you're running into conflicts with the use of /RTC checks. Try
disabling the use of runtime checks by the compiler by disabling all
relevant compiler switches (/RTC1, /RTCc, /RTCs, /RTCu and friends) in your
project.
 
E

EK

I also have this error.
I tried your solution but
error LNK2001: unresolved external symbol __security_cookie.
still present.
EK
 
E

EK

Any suggestion please?

EK said:
I also have this error.
I tried your solution but
error LNK2001: unresolved external symbol __security_cookie.
still present.
EK
 
R

Ronald Laeremans [MSFT]

You are linking with the wrong version of the C runtime library. Make sure
you are not picking up either the system CRT version or a 6.0 version of the
CRT. All of the missing externals are ones that are in the 7.0 CRT and not
in the 6.0 or system CRT (and that are needed by the code the 7.0 compiler
generates).

Ronald Laeremans
Visual C++ team
 
A

anliwang

Remove the "/GZ" option from the project option.
Be careful! It was case sensitive!
If you remove the "/Gz" option from the project option, it don't affec
anything


-
anliwan
 
K

Kirill Burtsev

Ronald said:
You are linking with the wrong version of the C runtime library.
Make sure
you are not picking up either the system CRT version or a 6.0 version
of the
CRT. All of the missing externals are ones that are in the 7.0 CRT
and not
in the 6.0 or system CRT (and that are needed by the code the 7.0
compiler
generates).

Ronald Laeremans
Visual C++ team



Well, how I would make sure, that the right version of CRT is linked?
I've got VC++ 2005 Express Beta and I have LIB path
(Tools->Options->VC++ Directories) set up like that:

$(VCInstallDir)lib
$(VSInstallDir)lib
$(VCInstallDir)PlatformSDK\lib\prerelease
$(VCInstallDir)PlatformSDK\lib
$(FrameworkSDKDir)lib
$(VSInstallDir)
C:\Program Files\Microsoft SDK\Lib

and I'm getting the same errors. I went to "C:\Program Files\Microsoft
Visual Studio 8\VC\lib\" ( $(VCInstallDir)lib should point to this
folder, as I thought) and I was able to manually find these symbols in
some of .lib files (like libcmt.lib, RunTmChk.lib). I also try to add
this actual folder in VC++ Derictories lib thinking that may be
$(VCInstallDir) variable is wrong. Didn't help.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top