- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I had been working with F2020beta with W10, but when I installed F2019U5 on W8.1 and a new installation of VS2019P, I am getting "LINK : fatal error LNK1104; cannot open file 'ucrtd.lib'". I have searched my drive for ucrtd.lib without it being found. Windows Universal CRT is part of the installation. The 2020beta worked fine on W10 on with VS2019 and VS2017. ????
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Same problem on VS2017P, VS2015P on W8.1; works on VS2013P,81.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
On my system, ucrtd,lib is in C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x64 This is installed as part of Visual Studio when you select the option for C++ Desktop as indicated in https://software.intel.com/en-us/articles/installing-microsoft-visual-studio-2019-for-use-with-intel-compilers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Last night not ucrtd.lib found after install of VS2019P. Uninstalled VS2019P, many found in the right place. Still error on VS2015P and VS2017P. Now doing repair of VS2015P, VS2017P later. If Intel integrations disappear, is there a way to run integrations from exe or must it be done by Intel install modify?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Generally you will want to do a Modify or Repair on the Intel installer. In times past it was possible to hand-register integrations, but no longer.
Further reading: https://software.intel.com/en-us/articles/intel-software-development-tools-integration-to-vs2017-issue
For VS2015: https://software.intel.com/en-us/articles/troubleshooting-fortran-integration-issues-with-visual-studio/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Probably only I would be confused by the modify Visual Studio Integrations choices. I had installed Intel CF2019u5 composer before I thought I would try VS2019P. Integrations were already done with VS2013P, VS2015P and VS2017P. Afterwards, when doing a modify, I thought, no I don't want to install AGAIN on 2013,2015 and 2017 and I unchecked those and checked only 2019. Silly me. Considering what VS2019P did with my ucrtd location and who knows what else, uninstalling and reinstalling an integration based on a new environment might be a necessity rather than leaving an old integration intact. So if installing again means removing the old one first, then that would be a good meaning of leaving the checked box.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've uninstalled VS2015 and 2017, and CF2019u5 all kinds of ways, uninstalled integrations and installed. VS2013 works fine.One clue is when I tried to a lib path:
>Project : warning PRJ0018 : The following environment variables were not found:
1>$(UniversalCRT_LibraryPath_x86)
1>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I name the directory in "Additional Library Directories" as for example ""C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86" the ucrt(d) problem links, but I am a bit concerned that if I were using some default target in a c/cpp file, I would be using the wrong ucrt. So I should always use the evaluated $(UniversalCRT_LibraryPath_x86) or $(UniversalCRT_LibraryPath_x64).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have never seen the variable spelled that way. Here's how it shows in my Fortran default library lists:
$(UniversalCRTSdkDir)Lib\$(UCRTVersion)\ucrt\x86
$(UniversalCRTSdkDir)Lib\$(UCRTVersion)\ucrt\x64
The $(UniversalCRTSdkDir) variable is used for the "um" library path.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Those came from cpp console co-project in VS2017. The console fortran project did not show macros(the ones I checked), but would take the evaluations. This is on my 8.1W install VS2017 15.9.16.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In VS2017, Select Tools > Options > Intel Compilers and Tools > Visual Fortran > Compilers. On the Win32 tab, click Reset... Then repeat that on the x64 tab.
For whichever platform you're interested in, click the ... next to Libraries. Copy the text shown and paste into a reply.
I'm a bit confused, though - is this a Fortran project or a C++ project? C++ has its own settings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just two independent basic generated w32 console apps. Reset, restarted VS2017P, deleted "Additional Library Dependencies" from Linker, failed to find ucrtd.lib. Put back in path there and compiled OK.
Not related but I had part of a TI Code Composer fail on 8.1 because its script wanted to use compress(and /u).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Finally figured out what was wrong. A Windows Driver Kit was inserting its path before the suppressed Visual Studio 20XX Windows Kit path and the ucrt(d) was nowhere in its directory.When uninstalled that path gone from libs and compiler path installed ucrt lib in there. Wrote a short program to write to file pre-link build event environment to find this.
Before:
LIB = C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\lib\x86;C:\Program Files (x86)\Windows Kits\10\Lib\wdf\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\wdf\ucrt\x86;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\compiler\lib\ia32_win;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\mkl\lib\ia32_win;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\atlmfc\lib\x86;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86;C:\Program Files (x86)\Windows Kits\8.1\lib
After:
LIB = C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\lib\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x86;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\compiler\lib\ia32_win;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\mkl\lib\ia32_win;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\atlmfc\lib\x86;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86;C:\Program Files (x86)\Windows Kits\8.1\lib
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Glad to hear it. Note that there is a "Show Environment in Log" option that will show all environment variables in the build log. Tools > Options > Intel Compilers and Tools > Visual Fortran > General. I always turn this on.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for "Show Environment". and previous links.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page