【问题标题】:Compile C source file using Command Prompt使用命令提示符编译 C 源文件
【发布时间】:2017-01-20 15:27:50
【问题描述】:

我在使用 codeblocks-16.01mingw-setup.exe 时遇到问题 - 安装在路径不包含空格的文件中 - 尝试在命令提示符下编译时。初学者指南建议在命令提示符中使用以下行:

gcc cards.c -o cards

用于名为cards.c 的源文件(在我的桌面上)。这给出了错误

'gcc' is not recognised as an internal or external command, operable program or batch file.

当试图解决这个问题时,我发现您可以在命令提示符中拖放文件并指定它们的路径。使用取自 F:\Programare\Codeblocks\MinGW\bin\gcc.exe 的 gcc.exe 执行此操作并将 c 源文件添加为 C:\Users\dream\Desktop\cards.c 会出现错误

as.exe - System error: The program can't start because libintl-8.dll is missing from your computer. Try reinstalling the program to fix this problem.

我已恢复我的代码块但无济于事。我还尝试将编译器的路径与源文件匹配,将源代码带到编译器所在的位置,再次无济于事。

请帮助我理解这个问题。我必须说名为 libintl-8.dll 的文件就在 gcc.exe 所在的位置,尝试在命令提示符中添加它会产生一些语法错误。

【问题讨论】:

    标签: c compilation command-prompt


    【解决方案1】:

    gcc 正在尝试在工作目录中查找该 dll 文件,因此您需要 cd 进入该目录 cd /d F:\Programare\Codeblocks\MinGW\bin

    Dynamic-Link Library Search Order (Windows)

    1. lpFileName 指定的目录。
    2. 系统目录。使用 GetSystemDirectory 函数获取该目录的路径。
    3. 16 位系统目录。没有函数获取这个目录的路径,但是搜索到了。
    4. Windows 目录。使用 GetWindowsDirectory 函数获取该目录的路径。
    5. 当前目录。
    6. PATH 环境变量中列出的目录。请注意,这不包括 App Paths 注册表项指定的每个应用程序路径。计算 DLL 搜索路径时不使用 App Paths 键。

    【讨论】:

    • 我需要 'cd' 进入一个目录。 cd 在这里是什么意思?那行出现在我写“gcc cards.c -o cards”之前?
    • 在运行 gcc C:\Users\dream\Desktop\cards.c 之前运行该行。
    • 它成功了,虽然我不知道我刚刚做了什么:))
    • 我会对该行中的“-o”部分有同样的问题。我不明白那是什么。
    • 该 cd 命令将工作目录更改为F:\Programare\Codeblocks\MinGW\bin,因此可以找到 dll(请参阅我编辑的答案)。将其添加到 PATH 环境变量中更方便,但安全性较低,因为 F 盘对普通用户是可写的。
    【解决方案2】:

    您必须将F:\Programare\Codeblocks\MinGW\bin\ 添加到您的用户或系统 PATH 环境变量中。

    完成此操作后,您只需键入

    gcc cards.c -o cards
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      相关资源
      最近更新 更多