LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 946|回复: 3

新手请教:自己编译的library如何使用及如何学习编程

[复制链接]
发表于 2007-7-10 16:11:59 | 显示全部楼层 |阅读模式
我需要用一个叫QuantLib的东东,系统是archlinux,没有QuantLib可直接安装,就自己下载了源码,编译了老半天,终于装上了,一堆hpp文件在/usr/ local/include/ql目录下,在/usr/local/lib目录下是.a和.so文件。
    现在问题是我要编译一个文档自带的example程序,以前用的debian,用一个 g++ ... `pkg-config --cflags --libs QuantLib` 就可以搞定,现在好像不行了。此乃疑问一,那个pkg-config在这种情况下是否还可用?
     我直接就用g++ -I/usr/local/include -L/usr/local/lib -lQuantLib 来编译了,还要export LD_LIBRARY_PATH=/usr/local/lib,才能使得编译后的程序找到库文件并正确运行。我觉得这样岂不很麻烦?是否应该把编译后的头文件和库文件挪一下子位置,放到/usr/lib和/usr/include目录呢?(抑或我当初编译安装QuantLib的时候就做得不对?)
    因为我刚学习编程,请各位指点一下学习的大致方向(不是指具体的编程语言的学习)。现在我只会上面那几招来编译程序,而且是很简单的小程序。makefile应该要学的吧?还有哪些也请指明一下,有各位的指点比自己摸着石头过河会少走很多弯路,谢谢。。。
发表于 2007-7-11 18:00:10 | 显示全部楼层
自己编译的QuantLib可能不会自动纳入pkg-config的管理。可以看看:
pkg-config --list-all | grep QuantLib

如果没有的话,可以自己写pc文件,加入PKG_CONFIG_PATH里。 参考 man pkg-config 。

不过,既然已经可以编译,那么把参数直接写到Makefile里,不用pkg-config 也很方便呀。
回复 支持 反对

使用道具 举报

发表于 2007-7-12 02:01:30 | 显示全部楼层
如果在debian中能使用pkg-config来找到quantlib的话,我想这个程序应该自己带了quantlib.pc吧?大概是你的PKG_CONFIG_PATH没有包含/usr/local/lib/pkg-config?

至于/usr/local/lib的问题,这不本来就应该包含在library_path中的,你查查看你的/etc/ld.so.conf文件,是不是这个出了问题。据我所知,所有的版本默认都把这个加入到了默认的库搜索路径了,而不需要export LD_LIBRARY_PATH的。

至于Makefile的问题,这是开发工具,还是需要了解一下,当然你不一定需要精通。就好像你在windows下面开发程序,你得学习怎么样使用visual studio或者其他的开发工具一样。当然你如果觉得Makefile比较麻烦的话,你可以使用其他的一些自己生成Makefile的工具,像autotool(几乎是*nix系统下的标准)或者cmake(跨平台,现在KDE已经从autotool往这个转了)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-12 20:18:26 | 显示全部楼层
谢谢两位的答复,明白了一点儿了。archlinux的 ld.so.conf是需要自己修改的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表