我在我的应用程序的构建设置中添加了arm64支持,现在在curlrules.h中出现此错误, 以下是发生错误的代码:
typedef char
__curl_rule_01__
[CurlchkszEQ(long, CURL_SIZEOF_LONG)]; //where the error occurs
答案 0 :(得分:1)
嗯,显然你需要确保CURL_SIZEOF_LONG
被定义为sizeof(long)
(或整数 - 文字等价物,可能是8
),无论它在何处定义。您可能正在尝试#include
仍然认为您使用32位ARM的标头。
“负数大小的数组”技巧是在C和C ++中模拟static_assert
的一个非常常见的技巧 - 2011年之前。如果您想知道在这种特殊情况下它是如何工作的,请在源代码中查找CurlchkszEQ
的定义。