編譯軟件時,經常會遇到“無法解析的外部指令”的錯誤,錯誤類型往往不太一樣,針對編程過程中遇到的原因以及解決方法進行總結,如下:
1 同項目
1.1 函數有定義,但是沒有實現
檢查函數是否有實現,如果沒有則添加具體的實現
2 跨項目-引用第三方庫
2.1 未包含第三方庫
包含第三方庫,有兩種方式:
(1)右鍵項目屬性-->鏈接器-->輸入-->附加依賴項
(2)在代碼中導入lib文件
2.2 已包含第三方庫,但是函數未導出
在函數和類前添加關鍵字:
或
(1)如果已導入庫文件,並且函數已導出,但是函數沒有實現
檢查函數是否有實現,如果沒有則添加具體的實現
(2)以上情況均未出現,但是仍出現無法解析的外部指令,則可能函數導出無效
檢查導出函數前標識是否在指定條件下有效
ZEXPORT標識符只有在定義了ZLIB_WINAPI時才有效,因此在導入lib文件時,還需要添加ZLIB_WINAPI宏定義,相當於在項目中所有文件前#define ZLIB_WINAPI:
右鍵屬性-->C/C++-->預處理器-->預處理器定義