一、c/c++
g++ -c -fPIC a.cpp -I./ -I./linux/(依赖库)//编译为.o文件
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./linux/ //依赖库文件位置
g++ a.o b.o -shared -fPIC -o libTDBAPI_v2.so -L./linux/ -lWHNetWork(依赖库名)
二、Java
编译:javac *.java
jar包:mkdir classes
javac -encoding gbk -d classes -classpath a.jar:b.jar(依赖jar) *.java //形成*.class
cd classes
jar -cvf a.jar ./(.class位置)
运行jar包:java-jar a.jar + [main 参数]
或者:java -cp(-classpath)a.jar:b.jar(依赖的jar) com.a(main所在包+名路径) -----
三、编译swig后的文件,形成c++库
export LD_LIBRARY_PATH=./x64(调用库路径)
g++ -fpic-c a.cxx(swig形成的.cxxx,详见swig c++转java) a.cpp(调用c++的cpp) -I/usr/java/jdk1.7.0_79/include/(jni.h路径,使用locate jni.h可查到) -I/usr/java/jdk1.7.0_79/include/linux/(jni_md.h路径) -I./(c++所需的头文件位置)------------------------------------形成*.0文件
g++ -shared a.o b.o -o c.so(形成的库名) -L./x64 -laa -lbb(依赖的库) ------------------------------形成.so文件