您的位置:首页 > 运维架构 > Linux

curses的编译参数

2007-04-23 15:39 183 查看
newhuman1632004-12-3 07:29
初学者:我的第一个curses程序为何无法编译!

我刚学习curses编程,不过开始就遇到了一些困难!我编写了很简单的程序(curse.c),程序代码如下

        #include <stdio.h>;
        #include <curses.h>;

        int main( int argc ,char **argv)
        {
                initscr();
                box(stdscr,ACS_VLINE,ACS_HLINE);
                mvaddstr(11,30,"hello world");
                refresh();
                getch();
                endwin();
                return 0;
newhuman1632004-12-3 07:54
初学者:我的第一个curses程序为何无法编译!

出现的错误是:

在redhat 9.0 linux 环境下,我输入 gcc -o curse curse.c
  可是出现了很多错误,基本上是说 undefined reference to initscr()等函数,我已经包含了curses.h
  头文件了啊!为什么还会出现这样错误呢!
  是不是应该这样编译curses程序啊?请大虾指教!
flw2004-12-3 08:03
初学者:我的第一个curses程序为何无法编译!

靠!
为什么会有这么多的人认为包含了头文件就没事了呢?

gcc -o curse curse.c -lncurses
newhuman1632004-12-3 08:07
初学者:我的第一个curses程序为何无法编译!

   谢谢斑竹的帮助!初学的,请多多指教;)
   
flw2004-12-3 08:12
初学者:我的第一个curses程序为何无法编译!

你真正需要的不是头文件,而是函数库,明白吗?
头文件只不过是“买回来的热水器的说明书”,
你光拿着说明书,不去找热水器,能烧开水吗?

RH9 中的 curses.h 就是 libncurses.a 这个热水器的说明书,
明白这个道理了吗?

gcc 的 -lncurses 这个意思就是说,你要把 libncurses.a 这个热水器插到电源上!

我希望,
你在下次学另外一种技术的时候,
不要再这么问:
我已经包含了 xxxx.h,为什么还是报错呢?

而是应该这么问:
我要 do it,那么除了包含 xxxx.h 还要链接哪个库文件呢?

或者
xxxx.h 对应的是哪个库文件呢?
yunin2004-12-3 08:19
初学者:我的第一个curses程序为何无法编译!

比喻很精彩,彩到出红哟。
newhuman1632004-12-3 08:20
初学者:我的第一个curses程序为何无法编译!

   正是佩服斑竹的精辟的说明!
   真想和斑竹交个朋友!如国斑竹不愿意的话,请告诉你的邮箱或则QQ!
   有机会一起合作!

   qq:45517999
         MSN: zhuyaju@donetech.com.cn
         E_mail: zhuyajun@donetech.com.cn
albcamus2004-12-3 08:24
初学者:我的第一个curses程序为何无法编译!

哈哈,flw应该写本书,就写这样的话,整不好成中国的Stevens、Kernighan也不一定:)
aero2004-12-3 08:26
初学者:我的第一个curses程序为何无法编译!

外国人看不懂,以为是《中国家用电器说明书大全》呢。
twen3452004-12-3 08:42
初学者:我的第一个curses程序为何无法编译!

精彩的比喻!
yuxh2004-12-3 08:44
初学者:我的第一个curses程序为何无法编译!

很多次看到版主的精彩比喻!
其实表达能力与写程序有很大的关系。
写程序无非就是把自己的想法用机器可以识别的语言表达出来而已,有的时候对一个项目的理解比掌握多少高深的技术要重要得多。。。
flw2004-12-3 08:50
初学者:我的第一个curses程序为何无法编译!

原帖由 "yuxh"]写程序无非就是把自己的想法用机器可以识别的语言表达出来而已[/quote 发表:

握手握手!
但是在“把自己的想法用机器可以识别的语言表达出来”,
得先能够“读懂计算机的语言”才行。

所以我以前的签名就说:
[quote]第一层境界:我的思维要象计算机一样。
第二层境界:计算机要能够按照我的想法去做事。


但是,这里边有个“大前提”,
那就是我现在的签名:
我的问题到底是什么?我到底想要干什么?
newhuman1632004-12-3 08:50
初学者:我的第一个curses程序为何无法编译!

   讨论的人真多;)
   areo 也在线啊!还记得我吗?;)
aero2004-12-3 09:17
初学者:我的第一个curses程序为何无法编译!

sry,记不清楚了哈。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息