gpt4 book ai didi

Linux SDL2 应用程序在 Code::Blocks IDE 之外没有透明度

转载 作者:太空宇宙 更新时间:2023-11-04 13:04:21 26 4
gpt4 key购买 nike

我有一些奇怪的问题,我不明白其起源。

我有一个在 Windows 上构建并运行的 SDL2 应用程序,现在我正在尝试构建一个 Linux 版本。我在两个系统上都使用 Code::Blocks。在我在 Linux 上的 Code::Blocks 中设置所有路径和库后,它可以正常构建和运行。

normal behaviour

但是当我将可执行文件和所有需要的文件移动到单独的目录时,我突然出现了奇怪的行为:所有图像现在都失去了透明度并且看起来非常困惑。

messed up behaviour

我只是不明白发生了什么。为什么一切都在 IDE 中运行,而当您尝试像正常可执行文件一样运行它时会发生这种奇怪的事情?

最佳答案

好的,事情是这样的:我发现,如果我从文件管理器运行我的可执行文件(即通过单击 run.sh 脚本),一切都很好。但是,如果我尝试从命令行运行此脚本,我会遇到透明度问题。

不过,我仍然在 SDL_SetTextureBlendMode 调用中收到有关“无效渲染器”的错误,但它们实际上可能并不相关,因为我可能忘记检查所有其他 SDL 调用的错误,而该报告只是另一个调用的一些遗留问题。

但是,仍然有人知道为什么会这样吗?

当我为 Linux 下载带有图形的最新版本的 ADOM 时,我得到了这种解决方案。我选择了 Debian 6.0.5 的版本作为最接近我的版本 - 我有 7。当我尝试从命令行运行游戏时,我遇到了与我的应用程序相同的透明度问题。然后我决定尝试通过单击可执行文件从文件浏览器运行它 - 瞧!一切正常。

WTF...

仅供引用,我用来运行 exe 的 run.sh 脚本如下所示:

#!/bin/sh

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:lib
./Asteroids-x64

关于Linux SDL2 应用程序在 Code::Blocks IDE 之外没有透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33102098/

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