我检查了 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 字节大小,这不是真正的编译器,我猜它可能是到真正编译器的符号链接,由于某种原因它没有按预期工作(在 linux 上执行符号链接就像执行真正的二进制文件) .
我不是 cygwin 的专家,但我想在某种程度上支持符号链接,阅读此常见问题解答让我想知道是否某些属性没有丢失打包/解包 zip,因此无法识别符号链接。
尝试重新创建它(它对我有用):
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
按预期返回错误。
但这不是解决方案,因为可能在解压缩的文件中有许多损坏的符号链接。
我不敢相信 Adobe 正在分发一个损坏的 SDK,所以也许有一些关于如何正确解压缩 SDK 并保留符号链接的说明(也许 unzip 有一个保留属性选项?我不太了解 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
这应该有望修复所有损坏的符号链接,唯一的副作用是任何包含的文件!<symlink>
都将设置属性 DOS SYSTEM,但是 cygwin 检查偏移量 0 处的这个魔术字符串和 S 属性以将文件视为符号链接,所以希望不会破坏任何东西。