gpt4 book ai didi

java - 在 java 中加载 c++ library.so 会引发错误 : undefined symbol: XOpenDisplay

转载 作者:行者123 更新时间:2023-11-27 23:53:49 26 4
gpt4 key购买 nike

这个问题遵循这个 one .我能够找到该库,但在加载时会引发以下错误

java.lang.UnsatisfiedLinkError: /home/name/Documents/Development/GitLocalRepo/hidden-mathLibrary/hidden/lib/Distribution/libgtengine.so.3.7: /home/name/Documents/Development/GitLocalRepo/hidden-mathLibrary/hidden/lib/Distribution/libgtengine.so.3.7: undefined symbol: XOpenDisplay

引发错误的代码如下:

public class Frame {

static {
System.loadLibrary( "gtengine" ); // <- error occurs here
}

public interface libWrapper extends Library {

libWrapper INSTANCE = (libWrapper)
Native.loadLibrary(
"gtengine",
libWrapper.class );

Pointer FrameCstructor(String name, long parent,
double x, double y, double z,
double rotX, double rotY, double rotZ,
double vX, double vY, double vZ,
double angVx, double angVy, double angVz,
double accX, double accY, double accZ,
double angAccX, double angAccY, double angAccZ,
boolean addToFramelist);
}

public static native Pointer FrameCstructor(String name, long parent,
double x, double y, double z,
double rotX, double rotY, double rotZ,
double vX, double vY, double vZ,
double angVx, double angVy, double angVz,
double accX, double accY, double accZ,
double angAccX, double angAccY, double angAccZ,
boolean addToFramelist);

private Pointer ptrToCFrame;

public Frame(String name, int parent,
double x, double y, double z,
double rotX, double rotY, double rotZ,
double vX, double vY, double vZ,
double angVx, double angVy, double angVz,
double accX, double accY, double accZ,
double angAccX, double angAccY, double angAccZ,
boolean addToFramelist) {

System.out.println("library: " + System.getProperty( "java.library.path" ));

ptrToCFrame = libWrapper.INSTANCE.FrameCstructor( name, parent,
x, y, z, rotX, rotY, rotZ,
vX, vY, vZ, angVx, angVy, angVz,
accX, accY, accZ, angAccX, angAccY, angAccZ,
addToFramelist );
}
}

是不是因为库中存在一些对 X11 的引用?将其从库中删除将是一项艰巨的工作!我正在使用 Fedora 25。

谢谢

最佳答案

如你所见here gtengine 使用 X11 库。哪一个,在你的情况下,看起来不见了。 XOpenDisplay 函数在 xlib 库中。

关于java - 在 java 中加载 c++ library.so 会引发错误 : undefined symbol: XOpenDisplay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44152972/

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