Linux jogl配置

简介: 因为工作需要,这几天在ubuntu下配置jogl,我们知道如果在java中使用一些jar包什么的,都是将这放到CLASSPATH中,但是jogl是需要调Native库的,除了设置CLASSPATH,还需要设置Native库。

因为工作需要,这几天在ubuntu下配置jogl,我们知道如果在java中使用一些jar包什么的,都是将这放到CLASSPATH中,但是jogl是需要调Native库的,除了设置CLASSPATH,还需要设置Native库。

 

不同的系统jogl的包的名称是不一样的,下表列出了各个系统上所需要的包,这些可以在

http://jogamp.org/wiki/index.php/Downloading_and_installing_JOGL上找到。

64-bit Windows 64-bit Linux 32/64-bit Mac
gluegen-rt.jar gluegen-rt.jar gluegen-rt.jar
jogl.all.jar jogl.all.jar jogl.all.jar
gluegen-java-src.zip gluegen-java-src.zip gluegen-java-src.zip
jogl-java-src.zip jogl-java-src.zip jogl-java-src.zip
gluegen-rt-natives-windows-amd64.jar gluegen-rt-natives-linux-amd64.jar gluegen-rt-natives-macosx-universal.jar
jogl-all-natives-windows-amd64.jar jogl-all-natives-linux-amd64.jar jogl-all-natives-macosx-universal.jar

 

安装Native 库

 

apt-get install libjogl2-jni

安装之后会有下列文件

 

  • /usr/lib/jni/libjogl_desktop.so
  • /usr/lib/jni/libjogl_mobile.so
  • /usr/lib/jni/libnativewindow_awt.so
  • /usr/lib/jni/libnativewindow_x11.so
  • /usr/lib/jni/libnewt.so
  • /usr/share/doc/libjogl2-jni/changelog.Debian.gz
  • /usr/share/doc/libjogl2-jni/copyright

配置

将jar包配置到CLASSPATH中

 

CLASSPATH=.:$JAVA_HOME/lib.tools.jar:/usr/local/lib/jogl/jogl.all.jar:/usr/local/lib/jogl/gluegen-rt.jar:/usr/local/lib/jogl/jogl-all-natives-linux-amd64.jar

 

将native库配置到放到eclipse的编译参数中。

-Djava.library.path="/usr/local/lib/jogl"

测试代码


import javax.media.opengl.*;


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(System.getProperty("java.library.path"));
       System.loadLibrary("jogl");
        GLProfile profile = GLProfile.get(GLProfile.GL2ES2);
        GLCapabilities capabilities = new GLCapabilities(profile);
        System.out.println("OK,You do it!");
    }
}

 

如果遇到错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl in java.library.path
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
 at java.lang.Runtime.loadLibrary0(Runtime.java:823)
 at java.lang.System.loadLibrary(System.java:1028)
 at HelloWorld.main(HelloWorld.java:9)
大多数是Native库没配置好。

相关文章
|
1月前
|
Ubuntu Linux Shell
github用存在的私钥在Linux上配置免密登录
在Linux上配置GitHub免密登录,使用已有的私钥。系统环境为Ubuntu 22.04.3 LTS。步骤包括:1) 将名为`github`的私钥文件上传至`~/.ssh/github`;2) 设置正确权限`chmod 600 ~/.ssh/github`和`chmod 700 ~/.ssh`;3) 启动SSH代理并添加私钥`ssh-agent -s`和`ssh-add ~/.ssh/github`。完成上述步骤后,可以无缝使用GitHub。
29 0
|
15天前
|
Linux Shell 持续交付
Linux下vim的配置
本文介绍了如何对vim进行基础配置,如行号显示、缩进设置等,并推荐了一种自动化部署方案,通过链接下载预配置的vim环境脚本,简化了配置过程,提升开发效率。
21 3
Linux下vim的配置
|
8天前
|
域名解析 网络协议 Linux
Linux系统下DNS配置指南
Linux系统下DNS配置指南
22 1
|
9天前
|
网络协议 Linux 网络安全
Linux配置SSH允许TCP转发
Linux配置SSH允许TCP转发
12 1
|
17天前
|
关系型数据库 MySQL Shell
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
|
20天前
|
Linux 数据处理 数据库
探索Linux的`infocmp`命令:终端配置的得力助手
`infocmp`是Linux下用于查看和比较`terminfo`数据库中终端类型描述的命令。它显示终端的控制序列、按键映射等信息,并能找出不同终端的配置差异。通过参数如`-c`(以termcap格式输出)、`-d`(比较差异)和`-1`(单列显示)等可定制输出。例如,`infocmp $TERM`显示当前终端配置,`infocmp xterm vt100`比较两者差异。了解终端类型和选择合适输出格式是有效使用的关键。
|
1天前
|
网络协议 Linux 开发工具
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
|
1天前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
|
1天前
|
Linux Docker 容器
Docker02--搭建Linux环境,配置Docker,docker images无法访问,因为docker没有启动,阿里云镜像加速器免费的
Docker02--搭建Linux环境,配置Docker,docker images无法访问,因为docker没有启动,阿里云镜像加速器免费的
|
3天前
|
域名解析 网络协议 Linux
linux网络-- 手动配置ip地址
linux网络-- 手动配置ip地址