error LNK2019: 无法解析的外部符号 "__declspec(dllimport) long __stdcall RtlGetVersion(struct _OSVERSIONINFOW

虽然ntdll.lib库也引用了,但还是提示找不到RtlGetVersion函数定义,工程中头文件的定义如下:

NTSYSAPI
NTSTATUS
NTAPI
RtlGetVersion(
    _Out_ PRTL_OSVERSIONINFOW lpVersionInformation
    );


而ntdll.lib是C文件编译的所以类型不匹配 RtlGetVersion@4 = RtlGetVersion,工程中这样找这个函数__imp_?RtlGetVersion@@YGJPAU_OSVERSIONINFOW@@@Z

在声明签名加上extern "C"就好了

extern "C"
NTSYSAPI
NTSTATUS
NTAPI
RtlGetVersion(
    _Out_ PRTL_OSVERSIONINFOW lpVersionInformation
    );


原文地址:https://www.cnblogs.com/vcerror/p/4289039.html