大多數在Unix/Linux世界中,像HAVE_STDIO_H
這樣的名稱表示代碼已被'autoconfiscated'(這是官方術語,用於描述與'autotools'一起工作的狀態,例如' autoconf的')。在這樣的設置中,配置過程將確定<stdio.h>
是否可用並且將在其生成的config.h
文件中設置#define HAVE_STDIO_H 1
。然後編譯器會發現該平臺有<stdio.h>
,並且會編譯匹配的代碼(當前灰顯的東西)。
由於Windows上的HAVE_STDIO_H
可能有其他一些重要的意義,因此可以自信地適應您的Windows環境,因此您可能會決定在運行編譯器時將-DHAVE_STDIO_H
包含在命令行選項中。或者你可以手動創建配置文件,並定義-DHAVE_CONFIG_H
(這是表明配置設置在文件'config.h'中的正常方式)。在'config.h'文件中,如上所述,您將擁有#define HAVE_STDIO_H 1
。
注:在Unix上,你通常會發現所謂的「配置」指運行創建的config.h文件中的shell腳本。如果你有Cygwin,那麼你可以在Windows上使用該腳本 - 我剛剛檢查過,我在Solaris上創建的自動查找軟件包可以在Windows下的Cygwin中配置,它大部分都可以工作 - 除了某些網絡處理外。我不能保證它總是會失敗(但它是軟件 - 保證任何事情都非常危險)。我應該補充說,問題出在我的自動配置代碼中(網絡功能的測試顯然不是很正確),而不是Cygwin本身。如果我正確地完成了這項工作,它將會奏效。 (有人說「沒有便攜代碼,只有代碼已經移植了」,這適用於這裏)
你確實需要一個很好的Unix環境模擬。 MingW也可能工作。
請確認您已解壓縮並使用VisualC.html中的VisualC.zip,均可在SDL源歸檔中找到。 – vladr 2009-02-22 06:11:16