如何获取和比较libcurl版本?

如何获取和比较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

我正在使用libcurl设置OAuth 2.0访问令牌。由于libcurl 7.33
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)有人能帮我吗?

如果您想在运行时检测版本,可以使用()的样式如下:

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_*名称是枚举的一部分,未定义。。。