91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

libcurl第二課 編譯靜態庫

發布時間:2020-07-25 17:12:45 來源:網絡 閱讀:836 作者:fengyuzaitu 欄目:軟件技術

1 編譯libcurl靜態庫
??? 確保C/C++頁面下代碼生成/運行庫確保跟解決方案保持一致,確保常規下輸出路徑和目標文件名稱(d)


2 C/C++屬性頁面中的預處理器屬性頁設置定義
_DEBUG
BUILDING_LIBCURL
DEBUGBUILD
CURL_STATICLIB
USE_WINDOWS_SSPI
USE_SCHANNEL
USE_WINDOWS_SSPI和USE_SCHANNEL兩個預編譯處理定義是用來定義HTTPS,為了使用https協議需要指定,切記!


3 調用工程C/C++屬性頁面中的預處理器屬性頁設置定義

BUILDING_LIBCURL

CURL_STATICLIB

因為宏定義主要作用于curl/curl.h頭文件,用于頭文件的宏定義條件編譯,必須定義這兩個宏定義,否則編譯出錯,看出錯分析


2 鏈接錯誤分析
1)error LNK2019: 無法解析的外部符號 __imp__curl_easy_init,該符號在函數 _main 中被引用
分析:不定義CURL_STATICLIB 編譯結果,因為CURL_EXTERN CURL *curl_easy_init(void);函數之前有CURL_EXTERN定義,而該定義在
#ifdef CURL_STATICLIB
#? define CURL_EXTERN
#elif defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__)
#? if defined(BUILDING_LIBCURL)
#??? define CURL_EXTERN? __declspec(dllexport)
#? else
#??? define CURL_EXTERN? __declspec(dllimport)
#? endif
#elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS)
#? define CURL_EXTERN CURL_EXTERN_SYMBOL
#else
#? define CURL_EXTERN
#endif

這里被定義,如果沒有定義CURL_STATICLIB,將會導致CURL_EXTERN被替換成__declspec(dllexport)或者__declspec(dllimport),這兩個聲明只應用于動態鏈接,不能應用于靜態鏈接

2)error LNK2019: 無法解析的外部符號 __imp__ldap_init,該符號在函數 __ldap_free_urldesc 中被引用
在引用項目的屬性中添加額外的靜態庫Crypt32.lib,Wldap32.lib,否則出現如下的錯誤,因為用到https



3)C2371?“curl_share_init”: 重定義;不同的基類型?libcurl

查看源碼,如果沒有定義BUILDING_LIBCURL,將導致curl_share_init在聲明和定義中出現返回類型不一致的問題

#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
typedef struct Curl_easy CURL;
typedef struct Curl_share CURLSH;
#else
typedef void CURL;
typedef void CURLSH;
#endif

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黑龙江省| 瓮安县| 宁强县| 密山市| 朝阳县| 汾阳市| 同德县| 封开县| 三门县| 靖远县| 两当县| 蒙山县| 寻甸| 武义县| 富平县| 东丰县| 冕宁县| 饶河县| 中牟县| 资源县| 扶风县| 中卫市| 延寿县| 邯郸市| 宝清县| 鄂伦春自治旗| 古浪县| 临潭县| 西充县| 呼图壁县| 灵台县| 景洪市| 沂南县| 琼中| 大荔县| 延津县| 玉屏| 德州市| 兴隆县| 乐山市| 吴桥县|