如何获取和比较libcurl版本?
我正在使用libcurl设置OAuth 2.0访问令牌。由于libcurl 7.33如何获取和比较libcurl版本?,c,version,libcurl,C,Version,Libcurl,我正在使用libcurl设置OAuth 2.0访问令牌。由于libcurl 7.33CURLcode curl\u easy\u setopt(curl*句柄,CURLOPT\u XOAUTH2\u承载,char*令牌)选项。现在我需要得到libcurl版本,并将其与7.33进行比较。如果版本为7.33或更高,我将使用CURLOPT_XOAUTH2_承载,否则我将做其他事情。 我知道我应该使用curl\u version\u info\u data*curl\u version\u info(C
CURLcode curl\u easy\u setopt(curl*句柄,CURLOPT\u XOAUTH2\u承载,char*令牌)添加了代码>选项。现在我需要得到libcurl版本,并将其与7.33进行比较。如果版本为7.33或更高,我将使用CURLOPT_XOAUTH2_承载,否则我将做其他事情。
我知道我应该使用curl\u version\u info\u data*curl\u version\u info(CURLversion type)但是我不知道struct中的数据是什么样子,以及如何将它们与7.33版本进行比较。
有人能帮我吗?如果您想在运行时检测版本,可以使用()的样式如下:
curl_version_info_data *d = curl_version_info(CURLVERSION_NOW);
/* compare with the 24 bit hex number in 8 bit fields */
if(d->version_num >= 0x072100) {
/* this is libcurl 7.33.0 or later */
printf("Succcess\n");
}
else {
printf("A too old version\n");
}
#include <curl/curl.h>
#if LIBCURL_VERSION_NUM >= 0x072100
/* this is 7.33.0 or later */
#else
/* work-around for older libcurls */
#endif
如果希望在构建时执行检测,可以使用预处理器#If表达式,如下所示:
curl_version_info_data *d = curl_version_info(CURLVERSION_NOW);
/* compare with the 24 bit hex number in 8 bit fields */
if(d->version_num >= 0x072100) {
/* this is libcurl 7.33.0 or later */
printf("Succcess\n");
}
else {
printf("A too old version\n");
}
#include <curl/curl.h>
#if LIBCURL_VERSION_NUM >= 0x072100
/* this is 7.33.0 or later */
#else
/* work-around for older libcurls */
#endif
#包括
#如果LIBCURL\u VERSION\u NUM>=0x072100
/*这是7.33.0或更高版本*/
#否则
/*针对较老的卷发进行调整*/
#恩迪夫
正如丹尼尔所说,甚至只是:
#ifdef CURLOPT_XOAUTH2_BEARER
/* This version supports this option */
#else
/* No, it doesn't */
#endif
抱歉,这不起作用,因为CURLOPT_*名称是枚举的一部分,未定义。。。