linux下JThread编译及其HelloWorld

  为什么要用JThread呢,往简单的说,我们的程序经常要考虑多线程的问题,跨平台编译的问题,奈何Win32和linux下的多线程写法差别相当的大,我们只好使用相当丑陋的

#ifdef WIN32
#else
#endif

 这样的代码如果只是几句也无所谓,要是多了的话搞得我们自己都不知道最主要的意图是什么了,而我们选择JThread的话,就不用被这个苦恼了

往小的方面想,很多开源项目也依赖于其他一些开源项目,比如,JRtp就依赖JThread;所以装一下这个库也挺有用的吧


好了,先下载源码或者到这里http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthread

 

解压一下

tar -xvf jrtplib-3.7.1.tar.bz2

我一般喜欢选择默认安装,即把这些库安装到/usr/local里面,所以

./configure

make
make install
完成后记得确认一下,是不是将这个库放入
共享库搜索路径

不然编译完成后执行过程中你会收到这个错误
error   while   loading   shared   libraries:   libjthread-1.2.1.so:   cannot   open   shared   object   file:   No   such   file   or   directory

共享库的搜索路径
可以将so复制到/usr/lib或者将其所在目录添加到/etc/ld.so.conf

然后

ldconfig   -v

我使用的是后者


或者这样执行你的程序:
LD_LIBRARY_PATH=/usr/local/lib ./run

好了,现在可以动手写个关于JThread的HelloWorld了

myfunc.h


myfunc.cpp


只有几行的main函数

main.cpp

 

然后就是 makefile

makefile

 

 make一下

运行一下

./run

 

run result


 

 

posted @ 2009-03-02 17:03  冷侃  阅读(...)  评论(... 编辑 收藏