[問題] make時沒辦法link到stdio.h

看板b96902HW作者 (雞尾酒)時間16年前 (2009/09/24 22:45), 編輯推噓3(303)
留言6則, 1人參與, 最新討論串1/1
正在進行 OS 的 project 1 ,結果一下子就出問題了... 不知道是不是個笨問題 = = 因為我的測試程式中想用cout 所以打上#include <iostream> 結果 make 就怎麼樣都卡在這裡 訊息如下: b96203005@linux2 [~/nachos/NachOS-4.0/code/test] make ../../../usr/local/nachos/bin/decstation-ultrix-gcc -G 0 -c -I../userprog -I../lib -B../../../usr/local/nachos/lib/gcc-lib/decstation-ultrix/2.95.2/ -B../../../usr/local/nachos/decstation-ultrix/bin/ -c syscalltest.c syscalltest.c:2: iostream: ????????? make: *** [syscalltest.o] Error 1 -- 接著我trace了一下code 發現Nachos在sysdep.h這個檔案中有#include <iostream> 我就改變策略在我的測試程式中打上 #include "sysdep.h" 這回結果變成這樣... ../../../usr/local/nachos/bin/decstation-ultrix-gcc -G 0 -c -I../userprog -I../lib -B../../../usr/local/nachos/lib/gcc-lib/decstation-ultrix/2.95.2/ -B../../../usr/local/nachos/decstation-ultrix/bin/ -c syscalltest.c In file included from syscalltest.c:2: ../lib/sysdep.h:15: iostream: ????????? ../lib/sysdep.h:16: stdlib.h: ????????? ../lib/sysdep.h:17: stdio.h: ????????? ../lib/sysdep.h:18: string.h: ????????? make: *** [syscalltest.o] Error 1 連 sysdep.h 都沒辦法 link 上 iostream了= = 有沒有強者願意說明一下究竟是哪裡出了問題呢?謝謝。 (我用的Makefile檔是加了和投影片p.24上一樣的片段) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.193.181 ※ 編輯: kiwaygo 來自: 118.169.193.181 (09/24 22:50)

09/24 23:46, , 1F
要先補 patch。下載 *.diff,然後用 patch -p0 < diff
09/24 23:46, 1F

09/24 23:48, , 2F
抱歉,推錯了。
09/24 23:48, 2F

10/01 02:13, , 3F
我也有遇到同樣的問題。我在想有可能是因為 test 資料
10/01 02:13, 3F

10/01 02:14, , 4F
夾下的程式自己就是一個 OS,所以是沒有 libc 或是
10/01 02:14, 4F

10/01 02:15, , 5F
libc++ 可以用。我自己的解法是自己補上 Write 這個
10/01 02:15, 5F

10/01 02:16, , 6F
system call (利用 kernel.h ... 的 API)。
10/01 02:16, 6F
文章代碼(AID): #1AkuOBJS (b96902HW)