当你要使用多个库源于一个路径时使用方法B就省力了(paid off)。注意到方法B中并没有指定.a(静态库)还中.so(动态库),系统将自动地帮你选择使用静态库还是动态库,当然你可以通过选项“-static"显示地指定。
6.1库文件的命名方式
拿libboost_regex-gcc34-mt-d-1_36来说:
lib....................................通用前缀
boost_regex.....................库名
gcc34...............................编译时使用的toolset是gcc-3.4
mt...................................编译时是支持多线程的
d/s/g/y/p..........................ABI tag
1_36................................Tag version
6.2运行我们的程序
首先新建一个文本文件mail.txt
To: George Shmidlap
From: Rita Marlowe
Subject: Will Success Spoil Rock Hunter?
---
See subject.
如果我们的程序链接到了一个共享动态库,我们需要让系统知道到哪儿去加载它。请看我的~/.bashrc文件:
#boost
export BOOST_ROOT="/usr/local/boost_1_46_1"
export LD_LIBRARY_PATH="/usr/local/boost_1_46_1/stage/lib:$LD_LIBRARY_PATH"
运行程序:./example < mail.txt
应该输出
Will Success Spoil Rock Hunter?