gpt4 book ai didi

c++ - 在 Adob​​e Crossbridge 的 Cygwin 中编译 SDL

转载 作者:搜寻专家 更新时间:2023-10-31 01:08:52 24 4
gpt4 key购买 nike

Crossbridge允许您编译 C/C++ 程序以将 Flash 运行时作为目标。它在 cygwin 中带有自己修改过的 gcc。由于 SDL 只为 VC 或 mingw 提供开发 zip,我正在尝试在此 cygwin 环境中编译 SDL。然而,Crossbridge 的 gcc 是 4.2.1 版,根据谷歌搜索,SDL 不能在 cygwin 中使用高于 3 的 gcc 版本进行编译。当我运行 ./configure 时,它失败了:

*** Your compiler (/cygdrive/c/Users/Tom/Desktop/Crossbridge_1.0.1/sdk/usr/bin/g
cc.exe -jvmopt=-Xmx1G) does not produce Win32 executables!

当我单独输入 gcc 时,我得到:

bash: /usr/bin/gcc: cannot execute binary file

如果我使用一个编译器(即较低版本的 gcc)编译 SDL 并尝试将其与 Crossbridge 编译器一起使用,这会有什么不同吗?

有解决办法吗?

最佳答案

我检查了 Crossbridge_1.0.1.zip,cc 和 gcc 可能是断开的链接(只有 56 字节?)但 gcc-4 似乎不错。

编辑

输入gcc-4当你输入 gcc从 bash 中,您会看到通常的预期 no input files gcc的错误信息,试试gcc-4 -v

留言Your compiler does not produce Win32 executables由以下事实给出:无论您执行(或已自动执行)都在使用 /cygdrive/c/Users/Tom/Desktop/Crossbridge_1.0.1/sdk/usr/bin/gcc.exe作为您的编译器,但正如您已经检查过的那样,它不起作用,如果您使用 ls -l /usr/bin/gcc.exe 检查它你会看到这只有 56 字节大小,这不是真正的编译器,我猜它可能是到真正编译器的符号链接(symbolic link),由于某种原因它没有按预期工作(在 linux 上执行符号链接(symbolic link)就像执行真正的二进制文件一样)。

我不是 cygwin 专家,但我想在某种程度上支持符号链接(symbolic link),阅读此 FAQ让我想知道是否某些属性没有丢失打包/解包 zip,以便无法识别符号链接(symbolic link)。

尝试重新创建它(它对我有用):

cd /usr/bin # change directory
rm gcc.exe # remove the broken link
ln -s gcc-4.exe gcc.exe # re-create the symlink

运行 gcc再次,应该返回 no input files错误符合预期。

但这不是解决方案,因为可能在解压缩的文件中有许多损坏的符号链接(symbolic link)。

我不敢相信 Adob​​e 正在分发损坏的 SDK,所以也许某处有一些关于如何正确解压缩 SDK 以保留符号链接(symbolic link)的说明(也许解压缩具有保留属性选项?抱歉,我对 zip 了解不多。

编辑

执行run.bat (bash)并 cd 到解压缩 SDK 的主目录(我的是/cygdrive/c/crossbrige)

cd /cygdrive/c/crossbrige

for f in $(find ./ -type f -print0 | xargs -0 grep '!<symlink>' -l); do attrib +S $f; done

这应该有望修复所有损坏的符号链接(symbolic link),唯一的副作用是任何包含 !<symlink> 的文件将设置属性 DOS SYSTEM,但 cygwin 检查偏移量 0 处的这个神奇字符串和 S 属性以将文件视为符号链接(symbolic link),因此希望不会破坏任何东西。

关于c++ - 在 Adob​​e Crossbridge 的 Cygwin 中编译 SDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664723/

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