我在应用程序的构 build 置中添加了arm64支持,现在在curlrules.h中得到此错误,
这是发生错误的代码:

typedef char
 __curl_rule_01__
 [CurlchkszEQ(long, CURL_SIZEOF_LONG)]; //where the error occurs

最佳答案

好吧,显然,您需要确保在定义了CURL_SIZEOF_LONG的任何位置都将其定义为sizeof(long)(或等效的整数字面量,可能是8)。您可能正在尝试对仍然认为您在32位ARM上的 header 进行#include

“具有负大小的数组”技巧是在C和C++-pre-2011中模拟 static_assert 的非常常见的技巧。如果您想知道CurlchkszEQ在这种特殊情况下的工作方式,请在源代码中查找。

10-08 07:28