編譯出錯筆記:
start.s:20: error: no such instruction: `ldr r0,=wtcon'
錯誤:沒有這樣的指令
解決:編譯檔案字尾名必須為大寫s,改為start.s
start.s:34: error: bad instruction `ldr,r0,=0x4c000004'
錯誤:壞的指令,指令名ldr後面不能跟逗號
解決:改為ldr r0,=0x4c000004
start.s:52: error: bad expression -- `ldr r0,#0'
錯誤:指令引數出錯,使用#0引數是使用mov,不是ldr
解決:改為mov r0,#0
start.o(.text+0xc8): in function `sdram_config': : undefined reference to `lr'
錯誤:在start.s中對lr未定義的引用
解決:在start.s中找到 ldr pc,=lr ,編譯器誤解lr是乙個變數,這裡應該寫成mov pc,lr(完成乙個子程式返回)
12: error: syntax error before "int"
錯誤:'int'符號之前有語法錯誤
13: warning: comparison of distinct pointer types lacks a cast
錯誤:指標與其它不同型別的值比較,沒有使用強制轉換
解決:使用強制轉換使兩個變數改為相同型別
comparison: 比較
distinct pointer types: 不同的型別指標
a cast:強制轉換
19: warning: conflicting types for built-in function 'strcpy'
錯誤:strcpy函式與內建函式庫衝突,(比如:printf,strlen,puts,scanf等都是內建函式庫)
解決: 1.在arm-linux-gcc編譯命令後面加上-fno-builtin或者-fno-builtin-function 選項,你就可以自己實現這些函式而不衝突了。
2.把這些函式改個名稱,以便不衝突。
11: error: `str' undeclared (first use in this function)
錯誤:str變數沒有宣告定義
1: error: syntax error before "include"
錯誤:在「include」標號之前有語法錯誤
74: warning: return type of 'main' is not `int'
錯誤:main函式的返回值不是int型
解決:將void main(void){} 改為int main(void)
78: warning: implicit declaration of function `uart0_init'
錯誤:74行中用到的uart0_init函式只是**宣告(implicit declaration),在這個檔案中沒有extern宣告或者呼叫標頭檔案
解決:1.在本文開頭上新增: extern void uart0_init(void);
2.新增該函式的標頭檔案,例如: #include "serial.h"
arm-linux-ld:uboot.lds:2: parse error
錯誤:uboot.lds檔案中第2行語句解析(parse )錯誤.
解決:
1.lds鏈結指令碼中每個符號(:或者=)左右都要加上空格 , 或tab按鍵 ,不然就會出錯,例如以下**:
. = align(4);
.rodata: //這裡:左右沒有空格,將出錯,改為 .rodata :
2.lds鏈結指令碼中除了"{}和()"後都不能加";"逗號,例如以下**
.rodata : ; //這裡"}"後面加了";"逗號,將出錯
3.lds指令碼sections中若是以當前位址.等於***時,.後面都要加空格,例如以下**:
.= 0x33f80000; //當前0位址裡賦入0x33f80000,這裡.後面沒有加空格,將出錯,改為
. = 0x33f80000;
. = align(4);
4.lds指令碼中定義符號時,都要使符號在前,例如以下**:
__bss_start = .;
.bss :
. = __bss_end; //這裡定義"__bss_end"符號出錯,應該改為 __bss_end = .;
XMLHTTP 出錯解決方案
我們在使用xmlhttp的時候,有的時候可能不穩定,不正常.即原本正常的程式突然會出現xmlhttp錯誤,錯誤提示大概意思就是msxml3.dll怎樣的.以前個人百思不得其解,而且網上各種各樣的解釋都無法行得通.前些日子,我必須解決這個問題,嘗試採取如下方法,既然ok了.方法 在程式執行所在伺服器上...
import librosa出錯解決方案
多次嘗試安裝librosa庫後發現import librosa依然出問題,嘗試最簡單的問題解決方法,安裝時更換版本號 注意如果有pip版本相關錯根據錯誤提示誤公升級pip即可 python m pip install librosa 0.6.0再重新導包 再或者卸除所有已有的librosa再重新安裝...
vs 編譯 錯誤提示 解決方案
首先必須搞清楚專案 專案屬性 配置屬性 c c 生成 執行庫中四個選項的關係 多執行緒除錯dll mdd 對應 md dynamicdebug 多執行緒dll md 對應 md dynamicrelease 多執行緒 mt 對應 md staticrelease 多執行緒 mtd 對應 md sta...