编译程序之前--细看
时间:2010-10-17 来源:LinuxOSEDBA
今天看了不少linux程序设计的书的章目。我现在有是书是Linux程序设计和LinuxC程序设计大全。
在看到一个部分的时候,我看到了一个curses函数库来操作和管理基于文本的屏幕。我去网上把源码下载下来了,打算就用我的笔记本在putty的帮助下来把这些程序到我的中配台式机上测试运行一下。但是,这个结果真的让我很^~^有点不知所措。
看到书上说的这个章节的程序要到xterm里面运行,我的理解这个xterm就一个是在xwindow下面的terminal。为了确定这个推断我上网搜了一下,果然,xterm就是在xwindow下的terminal。
这下问题就来了!。。我是利用putty操作我的中配机,现在我的那台机器又没有显示器,我怎么来利用xterm来跑我的程序呢?~!我就问我自己了...想想啊...忘记我的笔记本上还有一个vm-centos。好了我现在就把的我程序移植到我的vm-centos上去运行一下。
我打开了vm-centos,也想着用putty去连接的我vm-centos。我先ping了一下我的本机,能连上,接下来我就开始设置我的putty了,设置好了--open,但是--失败!未能成功连上。先想到的是不是因为端口占用,或者没打开呢?于是,我在vm-centos里面用netstat查看了我的端口,发现22端口打开的(putty我利用的是SSH(Secure Shell,一种安全的远程登录会话协议),其端口就是22)。这下子就真的懵了!!!这个没办法把程序放到我的vm-centos里面去。又想了想......对了又个小小的web-server(上次看的一个教程里面留下的),这个web-server默认端口是2000,利用http://127.0.0.1:2000或者http://localhost:2000就可以访问了,于是我利用这个web-server的服务器功能,把那些程序放到了这个服务器的工作目录下,我再到我的vm-centos里面,利用wget将这个程序文件下载到了vm-centos里。^——^高兴!!
我开始用gcc 对这个文件开始编译,但是依然还是错误,而且和之前的错误是一样的。这把不对啊!~??我是在xterm里面跑的程序呀?难道是这个系统中没有这个函数库,不会吧?~centos里面怎么可能呢?
这程序跑不起来我也要继续呀。于是,我打算继续我的测试。现在,我打算把这个章节的codes的压缩包一起下载到vm-centos里面去。tar解压,进入目录后,我make了一下(因为有Makefile文件,我也没怎么细看)出现了新情况,编译的打印的内容是:
cc -lncurses ipmode.c -o ipmode
cc -lncurses moveadd.c -o moveadd
cc -lncurses pad.c -o pad
cc -lncurses screen1.c -o screen1
cc -lncurses color.c -o color
cc -lncurses keypad.c -o keypad
cc -lncurses multiw1.c -o multiw1
cc -lncurses subscl.c -o subscl
再看了Makefile的内容,如下:
all: ipmode moveadd pad screen1 color keypad multiw1 subscl
#Uncomment and edit the line below if necessary #CFLAGS=-I/usr/include/ncurses
LDFLAGS=-lncurses 这些明白了原来是的编译的方式不对。额额额额 ,记得了刚才看书的时候书上面也又说的,哎呀!看书还不够仔细。不然不会废了这么久的时间了。不过也还好又能学习到一点东西。
all: ipmode moveadd pad screen1 color keypad multiw1 subscl
#Uncomment and edit the line below if necessary #CFLAGS=-I/usr/include/ncurses
LDFLAGS=-lncurses 这些明白了原来是的编译的方式不对。额额额额 ,记得了刚才看书的时候书上面也又说的,哎呀!看书还不够仔细。不然不会废了这么久的时间了。不过也还好又能学习到一点东西。
相关阅读 更多 +