Mac OS X 下编译使用 LAJP
2014-05-06 09:21
183 查看
项目中需要用到java中调用systemV 消息队列,因此用了LAJP,使用它的消息队列机制来完成进程间的通信。之前程序在Linux下开发,lajp编译成了动态链接库so文件,很简单,现在mac os开发,原来的东西照搬过来肯定是不行了,需要自己重新编译得到动态链接库。
首先是LAJP的相关介绍:https://code.google.com/p/lajp/wiki/LAJP_manual
Mac OS下动态链接库的相关介绍:/article/1511533.html
linux下编译动态链接库是 gcc -shared -o c.so a.c b.c
而在Mac OS X下则是 gcc -dynamiclib -o c.dylib a.c b.c
另外,这里也记录一下lajp编译和使用过程,免得以后忘记。
1、首先下载lajp包:https://code.google.com/p/lajp/downloads/list
2、确认系统中java环境已经配置好了,编译过程中需要。
3、编译lajp,下载下来的包里有一个make.sh,当然,里面是linux中编译的方法,我自己修改了一下:
4、按照lajp包中的提示,找到系统的java.library.path,也就是运行
5、现在可以运行lajp包中的测试程序run_msgq.sh了,如果运行成功,那就可以使用了。
首先是LAJP的相关介绍:https://code.google.com/p/lajp/wiki/LAJP_manual
Mac OS下动态链接库的相关介绍:/article/1511533.html
linux下编译动态链接库是 gcc -shared -o c.so a.c b.c
而在Mac OS X下则是 gcc -dynamiclib -o c.dylib a.c b.c
另外,这里也记录一下lajp编译和使用过程,免得以后忘记。
1、首先下载lajp包:https://code.google.com/p/lajp/downloads/list
2、确认系统中java环境已经配置好了,编译过程中需要。
3、编译lajp,下载下来的包里有一个make.sh,当然,里面是linux中编译的方法,我自己修改了一下:
gcc lajp_MsgQ.c -dynamiclib -I. -I/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/include/darwin -o liblajpmsgq.dylib其中用到了jdk 中的一些东西,运行以后能够生成动态链接库文件
4、按照lajp包中的提示,找到系统的java.library.path,也就是运行
System.out.println(System.getProperties().getProperty("java.library.path"));然后在其中随便找一个路径,将liblajpmsgq.dylib放进去,修改一下权限就行
5、现在可以运行lajp包中的测试程序run_msgq.sh了,如果运行成功,那就可以使用了。
相关文章推荐
- 在Mac OS X 10.9 上使用 NDK r9c 编译 FFTW 3.3.3
- Mac OS X下使用Homebrew安装PNG支持——重新编译PHP
- Mac OS X下使用终端编译OpenGL程序
- 安装编译和使用OpenCV(Mac OS X 10.10)
- Mac OS X下使用Homebrew安装PNG支持——重新编译PHP
- 在Mac OS X 10.9.4 Mavericks编译boost 1.55,并在xcode中使用.
- 在Mac OS X 10.10.3下使用源码包编译安装GCC5.1
- 在 Mac OS X 下使用 Android NDK r5b 编译 FFmpeg 0.8
- Mac OS X 使用grdle3.1+jdk8 将spring4.3编译成可导入eclipse等开发工具
- Mac OS X上使用XCode编译调用OS X的动态库
- Ubuntu下使用VirtualBox安装Mac OS X Mavericks(10.9)下篇
- 使用 VIRTUALBOX 虚拟机安装 MAC OS X 10.8 MOUNTAIN LION
- Mac OS X使用sshfs挂载Linux远程分区
- 使用Mac OS X系统必须了解的10条命令
- [转]在 Mac OS X上编译 libimobiledevice 的方法
- mac os X 下编译jrtplib
- 使用nfs在mac os x与ubuntu之间共享文件
- Mac OS X下如何使用OpenGL
- [MacOS NSAlert的使用]
- 【Sublime】Mac下使用Sublime编译运行带输入数据的程序