如何交叉编译C++;windows库是否与Java JNA一起使用? 我试图在java项目中使用C++库SPOT()。我想用Java(JNA)实现java和C++之间的接口。因为Java应用程序也应该在Windows上运行,所以我尝试先用 ./configure --host=x86_64-w64-mingw32 --disable-python LDFLAGS="-static -static-libstdc++ -static-libgcc"

如何交叉编译C++;windows库是否与Java JNA一起使用? 我试图在java项目中使用C++库SPOT()。我想用Java(JNA)实现java和C++之间的接口。因为Java应用程序也应该在Windows上运行,所以我尝试先用 ./configure --host=x86_64-w64-mingw32 --disable-python LDFLAGS="-static -static-libstdc++ -static-libgcc",java,c++,java-native-interface,cross-compiling,jna,Java,C++,Java Native Interface,Cross Compiling,Jna,当然,还要在Linux系统上进行make/make安装。因为我不能期望Windows系统有libstdc++/libgcc,所以我想将它静态链接到库中。我现在的问题是:当我尝试在Windows中打开编译的.exe时,它仍然告诉我libstdc++/libgcc未找到。当然,当我尝试在Java程序中加载库时,JNA也给了我一个不满意的linkexception,因为模块仍然找不到,即使我以静态方式显式链接它们 那么我做错了什么?我还可以尝试避免在主机系统上安装libstdc++/libgcc吗?我

当然,还要在Linux系统上进行make/make安装。因为我不能期望Windows系统有libstdc++/libgcc,所以我想将它静态链接到库中。我现在的问题是:当我尝试在Windows中打开编译的.exe时,它仍然告诉我libstdc++/libgcc未找到。当然,当我尝试在Java程序中加载库时,JNA也给了我一个不满意的linkexception,因为模块仍然找不到,即使我以静态方式显式链接它们

那么我做错了什么?我还可以尝试避免在主机系统上安装libstdc++/libgcc吗?我现在试了一个星期,不知道如何克服这个问题,所以这里的一个问题是我最后的选择


谢谢

根据我的经验,这类问题的根源极难确定。您最好的猜测是首先在本地进行成功编译。如果你的主要操作系统是赢取,这应该是非常容易使用的:不需要你的源文件移动,只有依赖性不同。你应该提供一个C++和java代码——你可能甚至不需要它来使用点库。