1. 程式人生 > >關於Cmake 連結靜態庫出現undefined reference to錯誤

關於Cmake 連結靜態庫出現undefined reference to錯誤

在編寫一個C++專案的時候,使用cmake管理工程,成功連結一個靜態庫,但是在編譯時仍然出現undefined reference to 的錯誤。
最終發現問題是由於c和c++混編導致的。

解決方案:
由於我連結的庫是使用c語言編寫,所以需要在include標頭檔案時加上

#ifdef __cplusplus
extern "C"
{
#endif
#include "XXX.h"
#ifdef __cplusplus
}
#endif