發生 undefined reference to 'function()' 錯誤可能會有以下的情境
1. 未正確連結函式(靜態/動態)庫
這個通常是link沒找到,或是函式庫的版本對應錯誤。
2.於C++專案中引用C的函式
此解決方案有兩個:
主要都是使用 extern “C”{ }將部份定義包括起來。可利用 #ifdef __cplusplus 搭配作為辨別是否C++專案用
(1) 在使用C函式的函式宣告(Head)檔,將函式使用extern “C”{ } 包起來
(2) 在C++專案中,使用extern “C”{ } ,將引用 C函式宣告檔 包起來