• 12025阅读
  • 14回复

【提问】为什么没有第一章? [复制链接]

上一主题 下一主题
离线thisisll
 

只看楼主 倒序阅读 楼主  发表于: 2005-12-29
我是初学者
初到makefile里的QTDIR KDEDIR我都不知道在哪
我想也许第一章会讲些环境什么的
希望老大能告诉我完整的makefile
INCL= -I$(QTDIR)/include -I$(KDEDIR)/include
CFLAGS= -pipe -O2 -fno-strength-reduce
LFLAGS= -L$(QTDIR)/lib -L$(KDEDIR)/lib -L/usr/X11R6/lib
LIBS= -lqt -lX11 -lXext
CC=g++

helloworld: helloworld.o
  $(CC) $(LFLAGS) -o helloworld helloworld.o $(LIBS)

helloworld.o: helloworld.cpp

clean:
  rm -f helloworld
  rm -f helloworld.o

.SUFFIXES: .cpp

.cpp.o:
  $(CC) -c $(CFLAGS) $(INCL) -o $@ $<
[ 此贴被XChinux在2005-12-29 10:50重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2005-12-29
第一章是介绍什么是KDE,没有说编程,所以没放上去。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 2楼 发表于: 2005-12-29
关于Makefile,你不能通过那本书来学。
最好的资料是。。。循序渐进的逐步学习,包括GCC的使用。
GCC, Make的官方Manual是最好的资料。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线thisisll

只看该作者 3楼 发表于: 2005-12-29
那这两个QTDIR KDEDIR
是指的哪?
离线XChinux

只看该作者 4楼 发表于: 2005-12-29
QTDIR和KDEDIR分别指QT和KDE安装目录
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线thisisll

只看该作者 5楼 发表于: 2005-12-29
这个我能看出来
装系统的时候就装了
所以我也不知道他装到哪去了

make
g++ -c -pipe -O2 -fno-strength-reduce -I/usr/lib/qt-3.3/include -I/usr/include -o helloworld.o helloworld.cpp
g++ -L/usr/lib/qt-3.3/lib -L/usr/lib -L/usr/X11R6/lib -o helloworld helloworld.o -lqt -lX11 -lXext
/usr/bin/ld: cannot find -lqt
collect2: ld 返回 1
make: *** [helloworld] 错误 1

我应该去哪着 lqt?

QTDIR和KDEDIR 是不是在系统中有定义,所以在makefile里直接可疑用?怎么看他的值呢?
离线XChinux

只看该作者 6楼 发表于: 2005-12-29
理论上应该是装到usr目录里去了,也就是说,
bin目录对应的/usr/bin
lib目录对应的/usr/lib
include对应的/usr/include
你看看 /usr/lib目录下面是不是有到/usr/lib/qtxxx/lib的链接?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线thisisll

只看该作者 7楼 发表于: 2005-12-29
看的出来
QTDIR=usr/lib/qt-3.3
KDEDIR=/usr/X11R6
可QTDIR和KDEDIR定义在哪?
离线thisisll

只看该作者 8楼 发表于: 2005-12-29
有是有
可是没找到叫libqt的lib
libqtmcop.la libqtmcop.so.1     libqtopiakonnector.la
libqtmcop.so libqtmcop.so.1.0.0 libqtopiakonnector.so
离线thisisll

只看该作者 9楼 发表于: 2005-12-29
可能是版本不同,
我用kdevelop生成一个工程找到了这个-lqt-mt
直接用他的makefile
LIBS= $(SUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
搞定了

谢谢老大

还是有个问题
QTDIR=usr/lib/qt-3.3
KDEDIR=/usr/X11R6
可QTDIR和KDEDIR定义在哪?
离线XChinux

只看该作者 10楼 发表于: 2005-12-29
你用
$echo $KDEDIR
$echo $QTDIR
来看看他现在的值是多少,如果为空的话,那么你自己在你的.bash_profile里面定义一下就行了。或者在Makefile中指定。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线thisisll

只看该作者 11楼 发表于: 2005-12-29
不为空
可是.bash_profile里我没看到他们的定义啊
离线XChinux

只看该作者 12楼 发表于: 2005-12-29
不是要你在.bash_profile里面定义,而是如果KDEDIR, QTDIR没有定义的话,你在.bash_profile里面定义一下
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线thisisll

只看该作者 13楼 发表于: 2005-12-29
我就是想问
他们都存到哪了?
离线XChinux

只看该作者 14楼 发表于: 2006-03-01
KDEDIR, QTDIR应该是系统初始化的时候就已经定义好了的,
你用echo命令查看一下他们有没有定义:

$echo $KDEDIR
$echo $QTDIR

如果没有定义的话,那你自己定义一下,加在.bash_profile里,比如:

KDEDIR=/usr
export KDEDIR
QTDIR=/usr/lib/qt-3.3
export QTDIR
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个