gcc引數錯誤導致的makefile錯誤
今天寫一個小makefile檔案,出現以下錯誤:
linux:/mnt/hgfs/vmware-share # make cc -o my_bin.o my_bin.c cc -o my_bin my_bin.o my_bin.o:(.rodata+0x0): multiple definition of `_fp_hw' /usr/lib/gcc/i586-suse-linux/4.0.2/../../../crt1.o:../sysdeps/i386/elf/start.S:65: first defined here my_bin.o: In function `__data_start': : multiple definition of `__dso_handle' /usr/lib/gcc/i586-suse-linux/4.0.2/crtbegin.o:(.data+0x0): first defined here my_bin.o: In function `_init': /usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S:34: multiple definition of `_init' /usr/lib/gcc/i586-suse-linux/4.0.2/../../../crti.o:/usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S:12: first defined here my_bin.o: In function `_start': ../sysdeps/i386/elf/start.S:65: multiple definition of `_start' /usr/lib/gcc/i586-suse-linux/4.0.2/../../../crt1.o:../sysdeps/i386/elf/start.S:65: first defined here my_bin.o: In function `_fini': /usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S:50: multiple definition of `_fini' /usr/lib/gcc/i586-suse-linux/4.0.2/../../../crti.o:/usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S:12: first defined here my_bin.o: In function `__i686.get_pc_thunk.bx': /usr/src/packages/BUILD/glibc-2.3/cc/csu/crtn.S:35: multiple definition of `__i686.get_pc_thunk.bx' /usr/lib/gcc/i586-suse-linux/4.0.2/../../../crti.o:/usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S:12: first defined here my_bin.o:(.got.plt+0x0): multiple definition of `_GLOBAL_OFFSET_TABLE_' /usr/lib/gcc/i586-suse-linux/4.0.2/../../../crt1.o:../sysdeps/i386/elf/start.S:65: first defined here my_bin.o:(.rodata+0x4): multiple definition of `_IO_stdin_used' /usr/lib/gcc/i586-suse-linux/4.0.2/../../../crt1.o:../sysdeps/i386/elf/start.S:71: first defined here my_bin.o: In function `__data_start': : multiple definition of `__data_start' /usr/lib/gcc/i586-suse-linux/4.0.2/../../../crt1.o:../sysdeps/i386/elf/start.S:65: first defined here collect2: ld returned 1 exit status make: *** [my_bin] 錯誤 1
makefile檔案:
CC=gcc INSTDIR=/usr/local/bin/ my_bin : my_bin.o $(CC) -o my_bin my_bin.o my_bin.o : my_bin.c public.h $(CC) -o my_bin.o my_bin.c install : my_bin if [ -d $(INSTDIR)]; then \ cp my_bin $(INSTDIR); \ chmod a+x $(INSTDIR)/my_bin; \ echo "install to $(INSTDIR) success"; \ else \ echo "sorry, $(INSTDIR) is not exist"; \ fi clean: rm my_bin my_bin.o
剛開始對這個錯誤摸不著頭腦,後來發現是gcc 引數搞錯了。
即紅色部分應該為:$(CC) -c my_bin.c
相關推薦
gcc引數錯誤導致的makefile錯誤
今天寫一個小makefile檔案,出現以下錯誤: linux:/mnt/hgfs/vmware-share # make cc -o my_bin.o my_bin.c cc -o my_bin my_bin.o my_bin.o:(.rodata+0x0): multip
org.apache.solr.common.SolrException: Request-URI Too Large(solr query操作因為引數過多導致uri過長錯誤)
原文連結: org.apache.solr.common.SolrException: Request-URI Too Large 採用post提交url提交方式有兩種,一種是get方式,一種是post方式 sol查詢的時候添加個引數 &nb
虛擬機器塊裝置掛載引數錯誤導致無法開機問題處理
故障現象 給虛擬機器增加一個卷後,重啟無法進入系統。 故障原因 /etc/fstab中填寫的檔案系統型別與分割槽實際檔案系統不一致。 處理方法 將虛擬機器系統卷掛載到其他虛擬機器上,修改/etc/fstab為正確配置。 排查過程 同事給一臺虛擬機器
前後端分離。前端POST請求引數過長,導致400錯誤解決辦法及分析
這兩天做好的功能要上線了。但是測試的時候忽然發現當POST提交資料量多大時,會導致後端報400錯誤。最開始以為瓶頸存在於tomcat,因為tomcat預設能接受的POST請求大小為2M,所以手動修改tomcat server.xml 檔案,將接受POST大小修改為不限制。
axios 請求引數格式與後臺不對應導致415錯誤
用axios請求後臺資料的時候,預設的頭部配置是 Content-Type: application/x-www-form-urlencoded;charset=UTF-8 這樣的話,data的配置格式和傳遞的格式就是一樣的,都是是json鍵值對 data:{"toke
安裝錯誤的gcc導致一些錯誤
出現如下錯誤: make: arm-linux-gnueabihf-gcc: Command not found CHK include/generated/uapi/linux/version.h CHK include/generated/uts
gc引數設定錯誤導致一直full gc
gc param JAVA_OPTS="${JAVA_OPTS} -Xms1g -Xmx1g -XX:NewSize=512m -XX:MaxNewSize=1g -Xss512k -XX:SurvivorRatio=6" JAVA_OPTS="${J
munmap引數錯誤導致程序空間異常
去年在現場遇到一個問題,使用mmap操作檔案的時候,總是莫名奇妙的core,用gdb 命令info file檢視程序空間,發現stack棧空間非常大,覺得莫名其妙。後來發現是munmap傳入的len引數錯誤,導致系統刪除了不該刪除的記憶體。一直以為kernel會
錯誤修改初始化引數檔案導致oracle啟動失敗!
如果錯誤的修改了引數檔案導致資料庫不能啟動,由於spfile是採用的二進位制檔案,不能直接修改。 可以通過spfile建立pfile,手動修改pfile,利用pfile啟動資料庫,然後再通過pfile建立spfile: SQL> startup ORACLE 例程已經
gcc優化導致的錯誤
在MyOS中,有這樣一段系統呼叫程式碼:void sys_win_draw(regs_t reg){ HWND hWnd = (HWND)reg.ebx; unsigned long* buffer = (unsigned long*)reg.ecx; DrawWin
oracle11g的內存分配不當,導致的錯誤ORA-01034,ORA-00838,ORA-27101
ora- service listener replace cnblogs oracleo file admin tor 由於開發需要,oracle11g被應用於虛擬機,所以系統資源顯得彌足珍貴,百度了一下就有答案。 用dba身份進入Oracle,筆者在plsql中對數據
windows由於上次沒有正常關機導致的錯誤解決
ati 百度 ets failure 時間 cmd win get 關機 像往常一樣,打開電腦準備新一天的碼農生活,在持續了近兩分鐘的開機時間後自啟動的AnyConnect首先報錯:AnyConnect not available,以為是電腦管家禁止了其自啟 並且發現桌面
串口通信參數錯誤導致接收字節並不是想要的結果
導致 發送 ram top pac 存在 測試 ets 串口 在編寫串口通信時設置一下參數,導致接收的字節與單片機發送的字節對不上, serialPort.setSerialPortParams(115200, SerialPort.DATABITS_8,SerialPor
Linux 系統 fstab錯誤導致系統無法啟動的修復
啟動 src default 密碼 .com sda img 技術 -o fstab錯誤的修復 vim /etc/fstab/dev/sda6 /mnt xfs defaults 0 0重啟後系統無法啟動,等待一段時間後輸入root的密碼可進入單用戶
jdk 版本不一致導致的錯誤
sdn res myeclipse pan 問題 get target 搜索 文件導入 平時做項目時難免會從git,svn下載代碼或者把別人的項目文件導入到自己的MyEclipse中進行操作,因此會遇到很多問題,常見的有一種是使用的jdk版本不一致造成的報錯, 錯誤案例:
ORA-04031錯誤導致shared_pool問題
解決 pro line unknown 軟解析 incr ash art tail 環境描述: 數據庫版本:Oracle 11.2.0.1 操作系統:AIX 7.1 物理內存:64G 雙節點 RAC 發生故障現象:客戶端無法連接數據庫,數據庫無響應 檢查報警日誌為如
解決虛擬內存設置錯誤導致的系統藍屏無法啟動問題
it一次偶然設置虛擬內存由於設置過大導致系統重啟後藍屏,進入無限系統修復界面,但怎麽修復都無法正常進入系統,修復過程如下: 首先得有個Ghost 系統U盤,制作方法百度。然後開機進入U盤引導,進入Ghost系統① 桌面→更多工具→設置虛擬內存→初始大小500最大值設置成和物理內存一致即可② 桌面→修復系統
子網掩碼錯誤導致通訊異常問題
子網掩碼 昨天遇到個小問題,雖然簡單但是覺得很容易被忽視,然後就會導致奇怪的現象。 兩臺終端PC,網關都在核心上,PC3為192.168.8.190/24,網關為192.168.8.1,PC4是192.168.13.224/24,網關為192.168.13.1。問題現場,PC3可以
PHP代碼錯誤導致PHP返回頁面空白
問題處理解析過程:Nginx通過FastCGI接口將PHP頁面文件傳遞給PHP-FPM管理器處理PHP-FPM調用PHP環境解析後返回響應數據給Nginx用戶呈現頁面 問題現象:PHP測試頁測試沒問題,說明PHP和Nginx配置沒問題。當解析開發使用的PHP頁面時,返回空白頁面,這個時候說明是開發的PHP代碼
Sass 中文註釋導致編譯錯誤
3.5 default efault find info gpo OS utf inf 文件管理器中 Ruby 安裝目錄下找到文件類型為 Ruby File 的文件 engine sass 版本為當前使用的版本(使用 sass -v 在命令行工具中查看) Ruby25-x6