In what library is isalnum in VS 2022?

Rick Spagna 40 Reputation points
2023-12-19T16:59:03.7766667+00:00

I am in the process of upgrading from Visual Studio 2013 to Visual Studio 2022. I get the following error message using VS 2022 that I do not get using VS 2013:

1>envcifrm.obj : error LNK2019: unresolved external symbol __imp_isalnum referenced in function ENV_PlatformInit

The link step in PswDDLCR includes the following:

<AdditionalDependencies>ZzzcCopr.obj;msvcrt.lib;envcifrm.obj;envctfrm.obj;envwosif.obj;%(AdditionalDependencies)</AdditionalDependencies>

If look at the msvcrt.lib from VS 2013, isalnum is found:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64>dumpbin msvcrt.lib /ALL | findstr isalnum 4A67E __imp_isalnum 4A67E isalnum 61298 __imp__isalnum_l 61298 _isalnum_l 49D __imp__isalnum_l 119 __imp_isalnum 49D _isalnum_l 119 isalnum Symbol name : isalnum Name : isalnum Symbol name : _isalnum_l Name : _isalnum_l isalnum _isalnum_l

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64>

However, if I look at at it in VS 2022, it is not:

C:\VS2022\VC\Tools\MSVC\14.38.33130\lib\x64>dumpbin msvcrt.lb /ALL | findstr isalnum

C:\VS2022\VC\Tools\MSVC\14.38.33130\lib\x64>

I wrote a cmd file to scan all .lib files, and it is not found in any of them.

My research has not been able to find where this is defined. So the question is, what is the name of the library that has isalnum in it?

Developer technologies | Visual Studio | Other
0 comments No comments
{count} votes

Accepted answer
  1. Q&A Assist
    2023-12-19T16:59:03.78+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The isalnum function is part of the C standard library and is typically included in the libcmt.lib library in Visual Studio. However, starting with Visual Studio 2015, the C runtime library was refactored into new binaries and associated .lib files. In Visual Studio 2022, the isalnum function is included in the ucrt.lib library, which is part of the Universal CRT.

    To resolve the unresolved external symbol error for isalnum, you can try adding ucrt.lib to the linker input in your project's Property Pages dialog under Configuration Properties > Linker > Input, in the Additional Dependencies property.


    References:

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.