在Linux终端中编译项目并不起作用

时间:2016-10-19 20:58:24

标签: java c linux java-native-interface

我有=IF(COUNTIF(B$2:B, B2) > 1, IF(VLOOKUP(B2,B$2:C,2,False) = "Left Message", True, False), False) =IF(COUNTIF(B$2:B, B2) > 1, IF(VLOOKUP(B2,B$2:C,2,False) = "Declined", True, False), False) 个文件 这个就像一个魅力:

Compile.sh

我的问题是我不想把我的资源放在bin文件夹中 我想将它们放在一个单独的文件夹中 为此我的脚本看起来像这样:

cd src
javac model/JNIResultSet.java
javah -jni model.JNIResultSet
cp model_JNIResultSet.h ./../bin/
cd ..

cd bin

gcc -fPIC -o libspieler.so -shared -I/usr/java/jdk1.8.0_73/include/ SharedTable.c -lc

java -Djava.library.path=./../bin/ app.Main

我不知道为什么这个人没有工作。我也不例外,但该程序也无法正常工作。你知道怎么解决吗?

1 个答案:

答案 0 :(得分:1)

工作脚本有:

cd bin
gcc -fPIC -o libspieler.so -shared -I/usr/java/jdk1.8.0_73/include/ SharedTable.c

另一个版本有:

cd data
gcc -fPIC -o libspieler.so -shared -I/usr/java/jdk1.8.0_73/include/ SharedTable.c -lc

因此SharedTable.c必须位于bin目录中,并且gcc命令找不到它,因为它不再位于当前目录中。尝试 改为使用相对路径:

gcc -fPIC -o libspieler.so -shared -I/usr/java/jdk1.8.0_73/include/ ../bin/SharedTable.c -lc