Я пытаюсь заставить работать LWJGL на моем компьютере (старый mac с установленной Sierra), но некоторые утверждения не выполняются, и это Objective-C?
Я использую IntelliJ и Maven и следую вики (https://github.com/LWJGL/lwjgl3-wiki/wiki/1.2.-Install). Я использую Java 11, и области действия собственных jar-файлов установлены на время выполнения.
pom.xml
ниже. Я получил его из https://www.lwjgl.org/customize, и я просто выделил все (все библиотеки и дополнения) и сгенерировал его.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.me.lwjgltest</groupId>
<artifactId>LWJGLTest</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile><id>lwjgl-natives-linux</id><activation><os><family>unix</family></os></activation><properties><lwjgl.natives>natives-linux</lwjgl.natives> <!-- Add -arm64 or -arm32 to get the ARM builds --><lwjgl.natives.vulkan></lwjgl.natives.vulkan></properties></profile>
<profile><id>lwjgl-natives-macos</id><activation><os><family>mac</family></os></activation><properties><lwjgl.natives>natives-macos</lwjgl.natives><lwjgl.natives.vulkan>natives-macos</lwjgl.natives.vulkan></properties></profile>
<profile><id>lwjgl-natives-windows</id><activation><os><family>windows</family></os></activation><properties><lwjgl.natives>natives-windows</lwjgl.natives><lwjgl.natives.vulkan></lwjgl.natives.vulkan></properties></profile>
</profiles>
<dependencies>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-assimp</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-bgfx</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-cuda</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-egl</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-glfw</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-jawt</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-jemalloc</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-libdivide</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-llvm</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-lmdb</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-lz4</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-meow</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-nanovg</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-nfd</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-nuklear</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-odbc</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-openal</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-opencl</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-opengl</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-opengles</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-openvr</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-opus</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-ovr</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-par</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-remotery</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-rpmalloc</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-sse</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-stb</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-tinyexr</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-tinyfd</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-tootle</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-vma</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-vulkan</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-xxhash</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-yoga</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-zstd</artifactId><version>3.2.2</version></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-assimp</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-bgfx</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-glfw</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-jemalloc</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-libdivide</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-llvm</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-lmdb</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-lz4</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-meow</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-nanovg</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-nfd</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-nuklear</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-openal</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-opengl</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-opengles</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-openvr</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-opus</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-ovr</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-par</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-remotery</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-rpmalloc</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-sse</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-stb</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-tinyexr</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-tinyfd</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-tootle</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-vma</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-vulkan</artifactId><version>3.2.2</version><classifier>${lwjgl.natives.vulkan}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-xxhash</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-yoga</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.lwjgl</groupId><artifactId>lwjgl-zstd</artifactId><version>3.2.2</version><classifier>${lwjgl.natives}</classifier><scope>runtime</scope></dependency>
<dependency><groupId>org.joml</groupId><artifactId>joml</artifactId><version>1.9.15</version></dependency>
<dependency><groupId>com.code-disaster.steamworks4j</groupId><artifactId>steamworks4j</artifactId><version>1.8.0</version></dependency>
<dependency><groupId>com.code-disaster.steamworks4j</groupId><artifactId>steamworks4j-server</artifactId><version>1.8.0</version></dependency>
</dependencies>
</project>
Я просто пытаюсь запустить пример кода на https://www.lwjgl.org/guide, поскольку я просто настраиваю LWJGL.
Однако, когда я запускаю пример кода, я получаю:
Hello LWJGL 3.2.2 build 10!
2019-06-08 20:03:28.554 java[80012:1268785] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1349.91/Misc.subproj/NSUndoManager.m:363
2019-06-08 20:03:28.555 java[80012:1268785] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.'
*** First throw call stack:
(
0 CoreFoundation 0x00007fffc393c57b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fffd8bb31da objc_exception_throw + 48
2 CoreFoundation 0x00007fffc3941132 +[NSException raise:format:arguments:] + 98
3 Foundation 0x00007fffc53a8be0 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
4 Foundation 0x00007fffc5333093 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 170
5 AppKit 0x00007fffc139e4ed -[NSApplication run] + 1200
6 libglfw.dylib 0x0000000126a109d5 libglfw.dylib + 68053
7 libglfw.dylib 0x0000000126a0a366 libglfw.dylib + 41830
8 ??? 0x00000001166a88d0 0x0 + 4671047888
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Я надеюсь, что смогу просто удалить некоторые библиотеки / дополнения, и это будет исправлено. Единственное, о чем я мог подумать, - это обновить мою ОС, но я пока не хочу этого делать.
РЕДАКТИРОВАТЬ: я пытался использовать "Minimal OpenGL" на сайте настройки, но происходит то же самое.
EDIT2: пробовал "Начало работы". Неудачно. Понял, что ошибка была Objective-C ...