linux命令——编译

来源:互联网 发布:淘宝模版制作 编辑:程序博客网 时间:2024/06/06 23:53

一、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文件

0 0