得到错误 C4013 - __readcr() 未定义;假设 extern 返回 int

Posted

技术标签:

【中文标题】得到错误 C4013 - __readcr() 未定义;假设 extern 返回 int【英文标题】:getting ERROR C4013 - __readcr() undefined; assuming extern returning int 【发布时间】:2019-02-09 11:56:44 【问题描述】:

我正在尝试编译驱动程序,但出现以下错误:

Error   C2220   warning treated as error - no 'object' file generated
Error   C4013   '__writecr0' undefined; assuming extern returning int
Error   C4013   '__readcr0' undefined; assuming extern returning int

我也包含了intrin.h,解决平台是ARM64

UINT64 cr0 = __readcr0();
__writecr0( cr0 & 
*(PUSHORT)place = 
*(PULONG)(place + 2) = 
*(PVOID**)(place + 6) = 
__writecr0( cr0 );

【问题讨论】:

@Werner Henze 这不是一个未定义的外部符号,而是一个缺失的声明——内在函数头可能有 ifdef 只公开 x86 和 x86-64 构建目标的函数 【参考方案1】:

docs 表示内部函数仅适用于 x86 和 x86-64,甚至仅在内核模式下可用。因此它不适用于 ARM64 交叉编译。

【讨论】:

以上是关于得到错误 C4013 - __readcr() 未定义;假设 extern 返回 int的主要内容,如果未能解决你的问题,请参考以下文章

动态数组获取“错误代码未指定启动失败”

如何摆脱错误“_ms sql”未找到

IQKeyboardManagerSwift,使用未解析的标识符“_textField”错误

Xcode 错误 - 架构 x86_64 的未定义符号?

类型错误无法设置未定义的属性'_minWidth' - pdfmake,Angular 2

未找到 xzcat 版本 XZ_5.2