作者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