Digital Mars Compiler (Code::Blocks) 无法打开文件 'iostream'

Digital Mars Compiler (Code::Blocks) unable to open file 'iostream'

我开始在 Code::Blocks 中编写代码,我需要一个编译器,我在 C:/dm 安装了 Digital Mars 并在 Code:Blocks 中选择了它。 C:/dm/bin 的 sc.ini 看起来像这样:

    [Version]
version=7.51 Build 020

[Environment]
PATH=%PATH%;"%@P%\..\bin"
BIN="%@P%\..\bin"
INCLUDE="%@P%\..\stlport\stlport";"%@P%\..\include";"%@P%\..\mfc\include"
;%INCLUDE%
;INCLUDE="%@P%\..\include";"%@P%\..\mfc\include";%INCLUDE%
LIB="%@P%\..\lib";"%@P%\..\mfc\lib";%LIB%
HELP="%@P%\..\help"

但是在编译时我总是得到这个错误:

||=== Build: Debug in Serevr (compiler: Digital Mars Compiler) ===|
||unable to open input file 'iostream'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

我查看了其他帖子,但 none 有帮助!有谁知道如何解决这个问题?

我想文件已经被你编辑过了。如果在同一行,BININCLUDE 很可能不起作用 - 在 INCLUDE:

之前插入换行符
BIN="%@P%\..\bin"
INCLUDE="%@P%\..\stlport\stlport";"%@P%\..\include";"%@P%\..\mfc\include";%INCLUDE%
;INCLUDE="%@P%\..\include";"%@P%\..\mfc\include";%INCLUDE%`

然后重试。

另外,您是否下载并安装了STLport?由于 iostream header 来自 DM。还要检查 stlport include,"%@P%\..\stlport\stlport" 条目似乎有点可疑 - 取决于你安装它的位置,它可能只是 "%@P%\..\stlport"(即检查 iostream header 是否真的在C:\DM\stlport\stlport 或者就在 C:\DM\stlport 或者甚至在 C:\DM\stlport\include 或者类似的地方。

此外,根据我的经验,Digital Mars 编译器可能有些棘手(例如,CMake AFAIK 不支持),您可能想尝试 MinGW (GCC) 编译器,它是最新的并且可能更好地支持各种工具。

(或 MS Visual Studio Express,它在 Windows 上是原生的并且随 IDE 一起提供)