我正在使用libcurl設置OAuth 2.0訪問令牌。由於添加了libcurl 7.33 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token);
選項。現在我需要獲取libcurl版本並將其與7.33進行比較。如果版本是7.33或更高,我將使用CURLOPT_XOAUTH2_BEARER,否則我會做其他事情。 我知道我應該以某種方式使用curl_version_info_data *curl_version_info(CURLversion type);
,但我不知道,結構中的數據如何看起來像以及如何將它們與7.33版本進行比較。 有人可以幫我嗎?如何獲取和比較libcurl版本?
1
A
回答
2
如果你想在運行時檢測版本,你可以在樣式使用curl_version_info()這樣的:
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
0
正如丹尼爾說,甚至只是:
#ifdef CURLOPT_XOAUTH2_BEARER
/* This version supports this option */
#else
/* No, it doesn't */
#endif
相關問題
- 1. yum比較版本如何?
- 2. 如何比較Android版本
- 3. 如何比較本地和版本庫SVN修訂版本?
- 4. 版本比較
- 5. 「與Workspace版本比較」和「與最新版本比較」有何區別?
- 6. 如何比較InstallScript中的版本?
- 7. 如何比較任意版本號?
- 8. SonarQube:我如何比較任意版本?
- 9. 如何獲取和比較Java腳本中的子字符串?
- 10. 比較版本中產品版本
- 11. 比較安裝和當前版本
- 12. 比較字段和獲取百分比
- 13. 如何比較pip版本與debian版本控制?
- 14. EXE版本號 - 如何正確比較次要版本
- 15. 比較版本(字符串)
- 16. 版本比較JSON文檔
- 17. 字符串版本比較
- 18. Objective-C的版本比較
- 19. 比較版本MongoDB中
- 20. JavaScript網頁版本比較
- 21. 如何檢查和比較Powershell中的Python版本
- 22. SSE比較本體 - 如何從比較中獲得1或0?
- 23. 如何獲得較舊版本的riak
- 24. 如何獲取bukkit版本?
- 25. 如何獲取css版本
- 26. 如何獲取jCanvas版本?
- 27. 如何獲取Windows版本?
- 28. 在較低Android版本中獲取MenuItem
- 29. 獲取較短版本的for循環?
- 30. FCKEditor中的文本版本比較
對不起,還是不行因爲CURLOPT_ *名稱是枚舉的一部分,未定義... –