0

目前我正在尝试在我的 EDK2 项目中使用 C 标准库。由于我的 Visual Studio 2019 没有自动添加必要的包含目录,我手动将以下文件夹添加到我的包含目录中:

C:\edk2\MdePkg\Include\X64
C:\edk2\MdePkg\Include
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.28.29812\include
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.28.29812\atlmfc\include
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Auxiliary\VS\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um

由于这修复了我缺少的#include指令,剩下的唯一事情就是手动将缺少的库添加到链接器参数中。

我这样做如下:

1.)在快速谷歌搜索后,我发现我必须将我的应用程序与libucrt.lib链接,然后我尝试通过执行简单的搜索在我的 Windows 10 SDK 中找到它,这产生了以下结果:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64

结果,我将此目录添加到 Visual Studio 2019 中的库目录中。不要忘记,我还添加了libucrt.lib链接器库

我的问题是,在编译我的项目后,我仍然从链接器中得到一个错误: 链接器错误

我已经尝试过使用不同的包含目录以及不同的 Windows SDK 版本,但似乎没有一个能解决我的问题。

我很感激任何形式的帮助,谢谢。

4

1 回答 1

0

正如@user123 建议的那样,我决定自己从stdlib 中实现我需要的功能,以解决这个问题并为我节省大量时间。

于 2021-04-01T11:08:34.973 回答