我在Windows 8.1上安装了MinGW以使用C ++编写代码,我正在尝试使用Sublime Text 3运行我的代码。到目前为止,我很成功,但我无法使用cin
和{{1} }。我知道我可以使用cout
和scanf
。但我可能也需要使用printf
和cin
。当我尝试构建包含cout
或cin
的C ++代码时,它会产生编译时错误。让我们看一下生成这样一个错误的代码:
cout
我机器上出现的错误是:(注意:我的机器上安装了WinGHCi以使用Haskell)
#include "iostream"
#include "cstdio"
using namespace std;
int main()
{
int n;
std::cin >> n;
std::cout << n;
}
请帮我找出问题所在。我故意不想使用IDE。
请注意,一般建议是使用Info: resolving std::cin by linking to __imp___ZSt3cin (auto-import)
Info: resolving std::cout by linking to __imp___ZSt4cout (auto-importc:/program files (x86)/haskell platform/2013.2.0.0/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.)
[Finished in 1.4s]
代替<iostream>
。在这方面,使用"iostream"
会在编译相同代码时产生以下错误(<iostream>
和"iostream"
替换为"cstdio"
&amp; <iostream>
):
<cstdio>
答案 0 :(得分:1)
使用时会抛弃这些类型或错误:
headers with version x
----------------------
lib with version y
所以,检查一下。
如果您使用的是版本4.6.3的编译器,但是您使用的是4.6(由于任何原因)的标头,则会出现这些错误。
有用的命令:
which g++ #locate where is your compiler (generally /usr/bin/g++)
g++ --version #get compiler's version
find / -name iostream | grep c++ #find where're your includes