so动态链接库编译问题

今天进行jni开发进行so文件的编译碰到一些错误现在记录如下,供战友们参考避免范重复错误。

编译命令范例:

g++ -fPIC -shared -I /usr/lib/jvm/jdk1.7.0/include/ -I /usr/lib/jvm/jdk1.7.0/include/linux/ -o libhelloworld.so -cpp HelloWorld.cpp

1. 如果少了 -share 提示

cannot dynamically load executable

2. 如果少了 -c或者-cpp或提示

only ET_DYN and ET_EXEC can be loaded

3. -fPIC是产生位置无关代码,就是可以不固定的内存位置执行代码(就是可以动态链接的意思了),动态链接库必须添加。


你可能感兴趣的:(so动态链接库编译问题)