不会飞的鸟

2010年12月10日 ... 不鸟他们!!! 我要用自己开发的分布式文件系统、分布式调度系统、分布式检索系统, 做自己的搜索引擎!!!大鱼有大志!!! ---杨书童

补充一下,所使用的动态库必须按照 extern "C"的方式定义,否则要出问题。

生成动态链接库是否必须使用 -fPIC 的问题
http://hi.baidu.com/han_zhi_xing/blog/item/08f0ef37a50409360a55a9b4.html
下载JDK http://java.sun.com/javase/downloads/index.jsp

提供两个版本:

jdk-6u18-linux-i586-rpm.bin 或 jdk-6u18-linux-i586.bin

运行二进制文件:

./jdk-6u18-linux-i586-rpm.bin 或 ./jdk-6u18-linux-i586.bin


区别在于:

生成rpm包和源包,rpm包用命令rpm –ivh jdk-6u18-linux-i586-rpm.bin就会自动安装在/usr/java下,而./jdk-6u18-linux-i586.bin生成的jdk1.6.0_18文件夹需要手动放到/usr/java或者其它自定义目录下。



JDK安装配置(测试环境CentOS 5.3):



使用java –version 命令测当前系统已安装的JDK版本,如果安装安装系统时选中了JAVA开发则会安装JDK1.4,因此需要把老版本JDK1.4删除。

使用rpm -qa|grep jdk及rpm -qa|grep gcj命令检测当前安装的JDK版本号,之后根据显示的版本使用命令yum –y jdk,回车后自动删除当前安装的JDK,此时再使用java –version检测时会出现-bash: /usr/bin/java: No such file or directory,检测完之后就可以安装新JDK。





配置有两种选择:

1、直接编辑/etc/profile文件(在文件最后编辑)。

2、在/etc/profile.d目录下新建一个文件。

设置环境变量内容如下:




#set java

JAVA_HOME=/usr/java/jdk1.6.0_18

PATH=$PATH:/$JAVA_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib

JRE_HOME=$JAVA_HOME/jre

export JAVA_HOME PATH CLASSPATH JRE_HOME



注:/usr/java/jdk1.6.0_18也就是JDK的路径。




设置java和javac的符号连接:

cd /usr/bin

ln -s -f /usr/java/jdk1.6.0_18/jre/bin/java

ln -s -f /usr/java/jdk1.6.0_18/jre/bin/javac

重启后执行java –version后将会看到新安装的JDK版本号。
非常感激,总算解决了一个大问题,我的程序也是,编译下到有的机器就是不能运行,提示dll配置失败。
拷贝了楼主4个文件,还是不行,后来把
*.dll.embed.manifest及*.dll.intermediate.manifest这2个dll放进去才搞定