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

时间:2023-03-10 05:59:10
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

    );