作者kiwaygo (雞尾酒)
看板b96902HW
標題[問題] make時沒辦法link到stdio.h
時間Thu Sep 24 22:45:30 2009
正在進行 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)
1F:推 LoganChien:要先補 patch。下載 *.diff,然後用 patch -p0 < diff 09/24 23:46
2F:推 LoganChien:抱歉,推錯了。 09/24 23:48
3F:推 LoganChien:我也有遇到同樣的問題。我在想有可能是因為 test 資料 10/01 02:13
4F:→ LoganChien:夾下的程式自己就是一個 OS,所以是沒有 libc 或是 10/01 02:14
5F:→ LoganChien:libc++ 可以用。我自己的解法是自己補上 Write 這個 10/01 02:15
6F:→ LoganChien:system call (利用 kernel.h ... 的 API)。 10/01 02:16