C++ 我可以更改boost lib文件吗';名字?

C++ 我可以更改boost lib文件吗';名字?,c++,boost,C++,Boost,我使用cmdsudo-apt-get安装了boost-libboost-dev。我在/usr/lib下找到我的boost lib文件如下: $ ls /usr/lib | grep boost libboost_filesystem.so.1.46.1 libboost_iostreams.so.1.46.1 libboost_python-py27.so.1.46.1 libboost_python-py32.so.1.46.1 libboost_regex.a libboost_regex-

我使用cmd
sudo-apt-get安装了boost-libboost-dev
。我在
/usr/lib
下找到我的boost lib文件如下:

$ ls /usr/lib | grep boost
libboost_filesystem.so.1.46.1
libboost_iostreams.so.1.46.1
libboost_python-py27.so.1.46.1
libboost_python-py32.so.1.46.1
libboost_regex.a
libboost_regex-mt.a
libboost_regex-mt.so
libboost_regex.so
libboost_regex.so.1.46.1
libboost_serialization.so.1.46.1
libboost_system.so.1.46.1
libboost_thread.so.1.46.1
libboost_wserialization.so.1.46.1
现在我想把我的程序和boost链接起来

G++:
G++test.cc-lboost\u regex-lboost iostreams-G-o prog

结果:
/usr/bin/ld:找不到-lboost\u iostreams

lib文件名
libboost\u iostreams.so.1.46.1
是否导致此问题?如果是,我可以将其重命名为
libboost\u iostreams.so


为什么我有
libboost\u regex.so
libboost\u regex.so.1.46.1
?它们是否相同?

我建议不要重命名库。最好创建软链接。我不确定
apt-get
如何处理由用户而不是
apt-get
本身删除或重命名的文件


libboost\u regex.so
很可能是指向
libboost\u regex.so.1.46.1

创建指向实际文件的符号链接更有意义。例如,在Mac OS X上,如果我运行:

ls -l `which lynx` | more
然后我看到所有的链接。其中一些看起来像:

c++ -> clang++
cc -> clang
jar -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jar

链接创建命令为
ln
。要创建符号链接,请使用如下所示的
-s
选项:

ln -s /path_to_source_file /path_to_symbolic_link

上面的boost iostream库路径示例:

ln -s /usr/lib/libboost_iostreams.so.1.46.1 /usr/lib/libboost_iostreams.so
准备在
ln
命令前面添加
sudo
。每次修改
/usr/.
区域时,我都必须在MacBook Pro上使用
sudo
。我希望Ubuntu也能做到这一点。要删除符号链接类型,请执行以下操作:

rm /path_to_symbolic_link
请记住,
sudo
可能还是有必要的