请高手帮下忙,帮忙分析下原因错误是java.lang.UnsatisfiedLinkError: 动态库 : 动态库:only ET_DYN and ET_EXEC can be loaded献上高分等待高手的回答
解决方案 »
- 初学者关于布局的问题
- 在N阶乘中发现的JAVA递归问题
- 求助:jawin中FuncPtr类的invoke方法求解
- 求高手提示 如何使用jacob激活第二个sheet
- String转换成char
- 程序问题!编写个排列符串的程序!
- 请问public static <T> void sort(T[] a, Comparator<? super T> c) 中 <T> 和<? super T> 什么意思?先谢了!
- java中读文件那种方式最快
- Tomcat的安装问题
- cherami(cherami)兄弟看进来
- JPasswordField.getPassword().toString()和new String(JPasswordField.getPassword())
- 设置前景色或背景色为什么会无效..
最后发现一个问题,就是用户的环境不可能每次都让我们手动的去设置一个环境变量
所以我们使用的过程中就用System.load()直接去加载所在的动态库,加载的动态库是通过copy工程的动态库到本地,所以就没有必要去设置那个环境变量,而且这样在windows地下,还有redhit64位地下都通过了
由于要测试的环境比较多,编译的so就比较多了点,最后发现编译的so在redhit32位跟suse 64 ,suse 32上运行都报上面的错误,太郁闷了所以请高手帮忙解释下这个错误是什么意思
不用每次手动设置,可以在.profile或者.bash_profile中设置export LD_LIBRARY_PATH=/home/JNI
最好是在不同的服务器上全部本地编译,而不是一次编译到处copy.
/etc/ld.so.conf
是一个很低级的错误导致花了两天时间去解决他解决方法是将打包过程中g++ -fpic -I/usr/java/jdk1.6.0_19/include/ -I/usr/java/jdk1.6.0_19/include/linux/ -shared -o libkeyboard_encrypt_64.so -c keyboard_encrypt.c 修改成为了g++ -fpic -I/usr/java/jdk1.6.0_19/include/ -I/usr/java/jdk1.6.0_19/include/linux/ -shared -o libkeyboard_encrypt_64.so keyboard_encrypt.c 唉,真是头痛,还得我重装了四个系统,现在打包四个系统中均能够使用希望大家以后不要犯这种低级错误给分大家