首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于某些Apple Libraries (Objective-c)行为不佳,LWJGL不能在Mac上运行?

由于某些Apple Libraries (Objective-c)行为不佳,LWJGL不能在Mac上运行?
EN

Stack Overflow用户
提问于 2019-06-09 11:23:02
回答 1查看 526关注 0票数 1

我试图让LWJGL在我的电脑上工作(一台安装了Sierra的旧mac ),但一些断言失败了,它是Objective-C?

我使用的是IntelliJ和maven.wiki (https://github.com/LWJGL/lwjgl3-wiki/wiki/1.2.-Install)。我使用的是Java11,本机jars的作用域被设置为运行时。

pom.xml在下面。我是从https://www.lwjgl.org/customize得到的,我只是简单地选择了所有东西(所有库和插件)并生成了它。

代码语言:javascript
复制
<?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。

然而,当我运行示例代码时,我得到:

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

发布于 2019-12-09 08:03:28

applicationDefaultJvmArgs = ["-XstartOnFirstThread"]

将其添加到您的构建gradle中。我不确定为什么苹果的库也在我的堆栈跟踪中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56511732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档