【问题标题】:Digital Mars Compiler (Code::Blocks) unable to open file 'iostream'数字火星编译器(代码::块)无法打开文件“iostream”
【发布时间】:2017-06-15 15:56:17
【问题描述】:

我开始在 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)) ===|

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

【问题讨论】:

    标签: c++ codeblocks iostream


    【解决方案1】:

    我想这个文件已经被你编辑过了。 BININCLUDE 如果在同一行上很可能不起作用 - 在 INCLUDE 之前插入换行符:

    BIN="%@P%\..\bin"
    INCLUDE="%@P%\..\stlport\stlport";"%@P%\..\include";"%@P%\..\mfc\include";%INCLUDE%
    ;INCLUDE="%@P%\..\include";"%@P%\..\mfc\include";%INCLUDE%`
    

    然后再试一次。

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

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

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

    【讨论】:

    • 抱歉有任何混淆,但 INCLUDE 在新行上,在向帖子添加代码时我未能解决这个问题,尽管这不是问题,我现在修复它以阻止任何其他混淆,我尝试过 MinGW (GCC) 但这也行不通。
    • 已更新。还要检查 STLport 的安装和位置。
    • 成功了! stl 端口已提取到 C:/dm/stlport 而不是 C:/dm/stlport/stlport!谢谢它现在正常工作!
    猜你喜欢
    • 2011-06-10
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 2012-07-27
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    相关资源
    最近更新 更多