【问题标题】:Can't compile and execute console application Code Blocks无法编译和执行控制台应用程序代码块
【发布时间】:2014-10-20 23:20:02
【问题描述】:

我已经使用 Code blocks IDE 大约一周了,直到昨天我尝试构建此代码时一切正常:

#include <iostream>

using namespace std;

int main()
{
  int sum = 0 , value = 0;

  while(cin >> value){
    sum += value;

    cout << "summen er: " << endl;
    cout << sum <<endl;
  }
  return 0;
}

这导致了以下构建日志:

(x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/ld.exe:无法打开输出文件bin\Debug\While_input.exe:权限被拒绝

collect2.exe:错误:ld 返回 1 个退出状态

进程以状态 1 终止(0 分钟,0 秒)
1 个错误,0 个警告(0 分钟,0 秒)

我不能再编译和运行任何代码,这周早些时候运行良好的旧项目也没有。

我搜索了这个问题并尝试了以下解决方案:

  • 以管理员身份运行代码块
  • 防火墙开关
  • 重新安装代码块
  • 使用任务管理器查看我的应用程序是否仍在运行。

到目前为止,没有任何效果。有谁知道我该如何解决这个问题?

【问题讨论】:

  • 你没有程序已经在后台运行和徘徊?
  • “干净”是否有效,即 While_input.exe 是否被删除?
  • 不,不是。是的,项目文件夹中没有 while_input.exe 文件。
  • 在 Windows 上,您无法覆盖已在运行的程序。这意味着如果它正在运行,您将无法构建,因为那样您就会遇到错误。您应该查看任务管理器以查看它是否正在运行,如果是则将其杀死。
  • 但问题是它还不是我能说的跑步。

标签: c++ codeblocks


【解决方案1】:

ld 错误是由于链接问题造成的。 请检查此链接中的建议: C++ program does not run in Code::Blocks

我假设您使用的是 Windows。卸载以前安装的代码块,您可能需要从 C:/Users/"YourName(Admin)"/AppData/Roaming 删除代码块文件夹(您可以通过转到 windows 搜索->文件夹选项->查看来使此文件可见-> 显示隐藏的文件、文件夹和驱动器)。 现在,尝试从代码块下载页面 (http://www.codeblocks.org/downloads/binaries) 下载“codeblocks-13.12mingw-setup.exe”并重新安装。确保工具链可执行文件(设置 -> 编译器 -> 全局编译器设置)显示动态和静态库的链接器。 最良好的祝愿。

【讨论】:

    【解决方案2】:

    这个程序在我的电脑上运行良好。

    1. 您的程序中没有输入提示。程序在 C++ 模式下运行时会显示一个光标。输入一个简单的数字并输入,它只是再现了值。
    2. 代码块有时会将文件保存为 C 而非 CPP 中的默认值。您是否尝试过另存为 .cpp? 约翰

    【讨论】:

    • 1.我知道 :) 但感谢您的精确定位 :) 2. 刚刚检查了文件,并将其保存为 cpp。
    【解决方案3】:

    我会这样做:

    1. 重启电脑
    2. 彻底清理文件夹,只留下源文件
    3. 重新构建它
    4. 运行程序

    【讨论】:

    • 感谢您尝试了您的解决方案,只是为了好玩 jeg 添加了 Cout
    • 您是否将其保存为 cpp 文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2019-06-27
    • 2018-01-31
    • 2020-11-19
    相关资源
    最近更新 更多