【发布时间】:2014-12-28 14:47:48
【问题描述】:
链接器在调用 Inject_mod.obj 文件时给了我一个致命错误:
NtQuerySystemInformation@16
和RtlAdjustPrivilege@16
在我的 ntdll.h 中定义,我从外部添加到我的项目中。但似乎编译器/链接器以某种方式看不到它,等等。
使用:Win8.1上的VC 2013,最初在Win7上创建的项目
UPD:项目资源管理器树:http://floomby.ru/s2/setKB5。有些话在信心的情况下已经模糊了。其他依赖项包含我的外部 ntdll.h 导致 ntdll.lib
【问题讨论】:
-
能否请您扩展成完整的英文句子。
-
我不确定只是将 *.lib 添加到项目中是你应该做的。您可能应该将其添加到项目设置中的链接器依赖项中
-
它们是内部 Windows 实现函数,不打算由应用程序使用,并且可能会在 Windows 版本中发生变化。 Windows SDK 中没有可用的导入库来声明它们,您没有 ntdll.lib,因此链接器总是会抱怨它们。破解它的唯一方法是使用 GetProcAddress() 在 ntdll.dll 中查找导出的函数
-
我有自己的 ntdll.lib 用于我的项目,我将它添加到依赖项和项目“包含”。
标签: c++ visual-studio-2013 linker symbols