您的位置:首页 > 移动开发 > Objective-C

运行so文件时,出现error while loading shared libraries: libjvm.so: cannot open shared object file...

2012-10-23 16:15 651 查看
出现:error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directoryI

don't get the errors you report, but there are some things that need

to be fixed:

- main() must return int, not void.

- #include <windows.h> isn't necessary at all, remove it

(anyway I suspect you don't have such a file on linux).

- normally you should include the system header files first, followed

by jni.h and finally your own header files.

- the pragma is unknown to g++

After making the above changes, the code compiles fine using the

following commands:

(compile: invoke.cpp -> invoke.o)

gcc -Wall -D_REENTRANT -I $JAVA_HOME/include -I $JAVA_HOME/include/linux -c invoke.cpp

(link: invoke.o -> invoke)

gcc -L $JAVA_HOME/jre/lib/i386/client invoke.o -lstdc++ -ljvm -lpthread -o invoke

(note that each of these two commands is exactly one line, even though

my newsreader or yours may have broken them)

To run the program you need to have the following directories in your

LD_LIBRARY_PATH:

$JAVA_HOME/jre/lib/i386/client

$JAVA_HOME/jre/lib/i386
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐