Eclipse CDT:运行C++程序控制台没有任何输出!为什么?

15

1
你觉得程序应该向控制台输出什么内容?为什么这样输出? - johnsyweb
我的程序只是一个简单的Hello World文件。这是它的代码:#include <iostream> using namespace std;int main() { cout << "你好啊!" << endl; return 0; } - Phil
9个回答

19
作为“No Console Output (MinGW, CDT)”的开发人员指出,这可能是因为Eclipse在启动可执行文件时未将PATH添加到MINGW\bin中,因此:

在“环境”标签中,点击“新建”,设置如下:

  • “名称:PATH”
  • “值:C:\MinGW\bin”

;)


@Phil 谢谢,这很感人(我刚遇到了类似的问题,通过这个页面找到了那个...);) - mlvljr
3
对于不了解的人,对于Eclipse 3.7.2和CDT 8.0.2,环境变量的首选项可以在Eclipse中找到: “窗口 > 首选项 > C/C++ > 构建 > 环境” - Sheharyar

10

除了 mlvljr 提供的解决方法之外,还有一个可行的解决方案是在以下位置添加 -static 标记:

项目 > 属性 > C/C++ 构建 > 设置 > 工具设置 > MinGW C++ 链接器 > 杂项 > 链接器标志


3

项目 > 属性 > C/C++ 构建 > 设置 > 工具设置 > MinGW C++ 链接器 > 其他 > 链接器标志(添加 -static)


3
如果以上方法都无效,您可以尝试以下操作:
您需要添加此项目的环境变量,以获取MinGW编译器的路径。
请按照以下步骤进行操作: 1. 转到“项目”->“属性”->“运行/调试设置”,选择.exe文件并按“编辑”按钮。 2. 在“环境”标签中,单击“新建”按钮,并设置如下内容:名称:PATH 值:C:\MinGW\bin。 3. 如果您使用cygwin,则值应为:c:\cygwin\bin。

1

确保控制台已分配:

项目属性 --> 运行/调试设置 --> yours.exe --> 编辑 --> 公共 --> 勾选“分配控制台”


在构建过程中,控制台是否有任何输出? - Tom
是的,我已经找到问题了。我更新了Eclipse现在它能正常工作了 :-) 感谢您的建议。 - Phil

1

感谢您的回答。我已经找到了问题所在,这是Eclipse的一个错误。

我进入“帮助”>“检查更新”。

我安装了一个更新,现在它可以正常工作了!


0

我认为这可能与我安装MinGW和eclipse CDT(Helios)的顺序有关。解决方案(对我而言)是进入项目 -> 属性 -> C/C++构建 -> 设置 -> 工具设置 -> MinGW C++链接器 -> 杂项 -> 并将链接器标志设置为-static-libgcc -static-libstdc++。但似乎我需要为每个项目都这样做,所以我仍在寻找一个永久的解决方案。


0

我不久前也遇到了这个问题。请参考链接,其中提供了非常详细的设置教程。然而,在Eclipse Mars CDT上控制台仍未显示任何内容。在从命令行运行生成的可执行文件后,我遇到了以下错误:

Apparently some path was missing

所以考虑到缺失的路径,我在cygwin主文件夹中搜索并将缺失的dll文件夹路径添加到项目属性 -> C/C++常规 -> 路径和符号 -> 包括GNU C++中:${CYGWIN_HOME}/usr/i686-pc-cygwin/sys-root/usr/bin。 再次运行项目,问题得到解决:

enter image description here

我希望这可以帮助到某人!


0

正如Singhak所回答的那样,可以通过将PATH环境变量添加到项目的启动配置来“修复”此问题:Project > Properties > Run/Debug Settings >(选择项目可执行文件)> Edit.. > Environment > New...(名称:PATH,值:path/to/compiler/bin)。但是您必须为每个项目都这样做-我认为没有一种方法可以设置它以适用于每个项目,至少我还没有能够找到。

但是,如果您正在运行Windows并安装了MS Visual Studio,则可以使用Microsoft Visual C++工具链设置项目,而不是GCC,这样每次都应该按预期工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接