gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 12:26:01 26 4
gpt4 key购买 nike

我有一个 Compile.sh 文件。
这个就像一个魅力:

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

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

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

cd data

gcc -fPIC -o libspieler.so -shared -I/usr/java/jdk1.8.0_73/include/ SharedTable.c -lc
cd ..
cd bin
java -Djava.library.path=./../data/ app.Main

我不知道为什么这个不起作用。我也不异常(exception),但该程序也无法正常工作。你知道怎么解决吗?

最佳答案

工作脚本有:

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

关于java - 在 Linux 终端中编译项目不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40141415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com