Tag Archives: Linux

Linux老版本下gettid的not declared问题

Linux对线程的支持有点土啊,今天在一台Turbo Linux 13的机器上,使用gettid死活提示:
gettid was not declared in this scope....

网上参考了这篇文章

对于比较老的版本,需要借助系统调用才能完成获取线程ID……
#include <sys/syscall.h>
#define gettid() syscall(__NR_gettid)[......]

继续阅读

Linux下如何合并两个.a库为一个,如何追加。

将两个库合并为一个,其实就是解开,获得所有的.o,然后再打包,这种方法当然也适合多个。
ar -x libabc.a
ar -x libxyz.a
ar -c libaz.a *.o
如何向一个.a中追加.o
ar rcs libabc.a *.o
2012.3.1更新:

其实搞复杂了,最简单的还是解压出各种.o,然后再合并:
ar x <library name 1>
ar x <library name 2>
......
ar cs &l[......]

继续阅读

Linux下编译Thrift 0.7.0

对与版本更新频繁的项目一直都没有好感。比如Cassandra,比如Thrift,天天更新的能靠谱么……
Anyway,用什么不是我能决定的了,还是老老实实编译Thrift吧……

需求就是,至少(也只需要)支持C++和Python
Thrift的依赖写着boost,不加with-boost就不给编译with-cpp唉……
#configure
./configure --with-cpp --with-python --with-boost --without-csharp --w[......]

继续阅读

Linux下include/lib/bin等搜索路径的配置

很多时候,我们的.h/.so/.a/bin文件都不在Linux发行版所指定的默认路径下,这时可以通过~/.bashrc来增加搜索路径。
#增加.so搜索路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/liheyuan/soft/lib

#增加.a搜索路径
LIBRARY_PATH=$LIBRARY_PATH:/home/liheyuan/soft/lib

#增加bin搜索路径
export PATH=$PATH:/home/l[......]

继续阅读