【问题标题】:Source file not compiled Dev C++源文件未编译 Dev C++
【发布时间】:2013-01-08 23:54:46
【问题描述】:

我刚刚安装了 Dev C++,并且正在学习 C 编程。 我使用的代码是

#include <stdio.h>    
int main()
{
  printf("Hello world");
  getch();
}

我将它保存为 .c 文件。当我编译它工作正常,但当我编译并运行它说源文件未编译。所以我在谷歌上搜索了一些东西,并在 youtube 上看到了这个视频,它向你展示了如何修复它。我还看到谷歌上的其他论坛建议同样的事情......但是,在做了什么之后,现在我什至无法编译我的代码。我收到此错误

Compiler: Default compiler
Executing  C:\Dev-Cpp\bin\gcc.exe...
C:\Dev-Cpp\bin\gcc.exe "C:\Users\ubaid\Documents\C\Untitled1.c" -o "C:\Users\ubaid\Documents\C\Untitled1.exe"    -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" 
gcc.exe: Internal error: Aborted (program collect2)
Please submit a full bug report.
See <URL:http://www.mingw.org/bugs.shtml> for instructions.

Execution terminated

我也使用了这个链接上的问题,但仍然没有运气.. http://learntogeek.com/miscellaneous/solved-source-file-not-compiled-error-in-dev-cpp/

我使用的是 Windows 8

【问题讨论】:

  • 您的源文件是否真的包含这些引号?
  • 我无法从中拼凑出足够具体的细节。请使用带有完整单词、大写字母、逐字代码的完整句子……您的代码和编译命令都是关于 C 的,但是您标记了问题 C++。这是怎么回事?
  • 您可以尝试手动执行并告诉我错误是什么吗? gcc -o hello hello.c(或者你的文件名)

标签: c dev-c++


【解决方案1】:

我遇到了这个问题,并通过以下方式解决了它: C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2 ,然后删除collect2.exe

【讨论】:

  • 工作了..但如果没有必要,为什么会在那里?
  • 天啊。你真的不应该删除 MinGW 二进制文件。它会搞砸很多事情。
  • 或者,您可以重命名它而不是删除“collect2.exe”,以便在必要时将其重命名回原来的名称。和平!
  • 这不应该是一个答案。您不应该删除编译器二进制文件,它们不是必需的。最好不要使用 Dev C++,它已经过时了。
【解决方案2】:

安装新版本的 Dev c++。它在 Windows 8 中运行良好。它还支持 64 位版本。

下载链接是http://sourceforge.net/projects/orwelldevcpp/

【讨论】:

  • 自从 Bloodshed Dev-C++ 的黑暗日子以来,已经有许多更好的 IDE。 Qt Creator(即使是非 Qt 项目!)在我的列表顶部,其次是一个好的文本编辑器 + 命令行。
  • 这对我来说是一个很好的答案,我只是想使用一个不适合我的 SO 的版本。 Windows 10 与最新版本配合良好。
【解决方案3】:

这可能是因为 c 编译器是为在 linux 中工作而设计的。我也遇到了这个问题并修复它去tools 并选择compiler options。在框中单击programs

现在您将看到一个带有gccmake 的选项卡及其各自的路径。编辑gccmake 路径以分别使用mingw32-c++.exemingw32-make.exe。现在它可以工作了。

原因是您使用的是为 linux 构建的编译器。

【讨论】:

    【解决方案4】:

    我猜你正在使用带有 Orwell Dev CPP 的 Windows 7

    此版本的 Dev CPP 仅适用于 Windows 8。但是在 Windows 7 上,您需要它的旧版本,即 devcpp-4.9.9.2_setup.exe 从链接下载并使用它。 (不要忘记卸载您电脑上已安装的任何其他版本) 另请注意,旧版本不适用于 Windows 8。

    【讨论】:

      【解决方案5】:

      您始终可以尝试从命令提示符手动执行此操作。导航到文件的路径并键入:

      gcc filename.c -o filename
      

      【讨论】:

        【解决方案6】:

        我找到了解决方案。请按照以下步骤操作:

        1. 右键单击我的组合。图标

        2. 点击高级设置。

        3. 单击环境变量。在环境变量的顶部点击新建

        4. 将变量名设置为:PATH then 将变量值设置为:(“g++ .exe 的位置”) 例如。 C:\Program Files (x86)\Dev-Cpp\MinGW64\bin

        5. 点击确定

        【讨论】:

          【解决方案7】:

          出现此错误是因为您的设置不正确。

          例如我收到

          cannot open output file Project1.exe: Permission denied
          collect2.exe: error: ld returned 1 exit status
          
          mingw32-make.exe: *** [Project1.exe] Error 1
          

          因为我没有权限在我的exe 文件上写字。

          【讨论】:

            【解决方案8】:

            经过一番调查,并在 Dr.Topaz 的帮助下,我了解到您需要确认编译器选项中为 g++ 设置的程序确实编译了源代码。在我的例子中,C:\Dev-Cpp\bin\g++.exe 程序确实没有创建了一个 exe,但 C:\Dev-Cpp\bin\c++.exe 程序确实创建了一个 exe。这两个程序似乎都打算采用与GNU g++ 相同的参数和选项。我很想找到有关 Dev-C++ 编译器程序的实际文档,但到目前为止还没有。

            你可以用一个简单的例子来测试编译器程序:

            C:\Dev-Cpp\bin\c++.exe hello.cpp -o hello.exe
            

            目前在 2021 年,Dev-C++ 网站邀请您下载原始的 Dev-C++ 或一个名为 Embarcadero 的组的新分支。

            我决定尝试 Embarcadero 版本,体验稍好一些。 UI 仍然有点过时,但它附带的g++.exe 程序能够毫无问题地编译程序。再次注意程序的安装位置,但就我而言,Embarcadero 编译器程序位于 C:\Program Files (x86)\Embarcadero\Dev-Cpp\TDM-GCC-64\bin

            原始的 Dev-C++ 和 Embarcadero 都带有 mingw-32 版本的编译器程序,据我所见,它们在 Git Bash 控制台中工作,略有不同,例如在使用命令 std::cout.imbue(std::locale("")) 时无法识别默认语言环境.

            【讨论】:

              【解决方案9】:

              我遇到了与上述相同的问题。

              可以通过创建一个新项目并在该项目中创建一个新文件来解决。 保存文件,然后尝试构建并运行。

              希望对您有所帮助。 :)

              【讨论】:

                猜你喜欢
                • 2019-06-27
                • 2010-10-23
                • 1970-01-01
                • 2019-02-01
                • 2015-08-29
                • 1970-01-01
                • 2020-04-02
                • 2011-05-16
                • 1970-01-01
                相关资源
                最近更新 更多