C 編譯錯誤 及解決方法總結

2021-07-23 18:39:52 字數 819 閱讀 7266

這篇部落格總結了我自己遇到的編寫c語言時遇到的錯誤和解決方法,以後遇到的問題也會新增上來。

1.  undefined reference to 錯誤

今天編譯原始檔時, 出現undefined reference to 編譯錯誤。 呼叫的函式沒有定義。

經檢查是因為新加的檔案沒有編譯進去。

在android.mk 檔案中

local_src_files:= \

加入新加的檔案。編譯通過。

2.  fatal signal 11 (sigsegv), code 1, fault addr 0x0 in tid 4966 (thread-21)

這種一般是 記憶體操作錯誤。

比如以下情況,初始化乙個字串,由於沒有給data_msg 分配記憶體。就會造成crash.

char* data_msg = null;

memset((void*) data_msg, 0, mem_size);

加上語句: data_msg = (char*)malloc(mem_size); 就可以了。

3.  implicit declaration of function 錯誤

編譯出現implicit declaration of function 錯誤......-werror,-wimplicit-function-declaration, 是因為呼叫的子函式還沒有宣告就進行了呼叫。

boolean first(int b, int c)

boolean second(int m)

這種問題方法是將second 函式放到 first 函式之前就可以了。

一些編譯錯誤及解決方法《記錄》

初學c 程式設計時,總會遇到這樣那樣的錯誤。因此,總結一些經常遇到的編譯錯誤及解決方法,方便自己和他人,不定期更新中 relocation r x86 64 32 against rodata can not be used when a shared object recompile with f...

Go1 14編譯錯誤 linux環境解決方法

最近更新了go版本後,突然發現linux環境 無法正常編譯,報錯在 usr local go 編譯過不去就讓人很頭大了。我最初是決定把go version版本洗回去,但是從1.14挨個換到1.10也沒有解決問題。重新安裝go環境也比較簡單,主要是找到 usr local下,用命令把原先的版本複製乙份...

c 編譯錯誤

一.變數未定義的引用 1.如果變數是類中的靜態成員,需要先在類外部初始化。否則會出現此種錯誤 二。標頭檔案包含了,卻報 zsp ipc proxy client.hh 8 1 錯誤 expected class name before endif 注意不能包含這些函式所在庫的標頭檔案。比如info ...