Code::Blocks 由于路径问题,无法使用 MSYS2 MinGW

Code::Blocks not working with MSYS2 MinGW due to path problems

我使用下载的二进制 codeblocks-20.03-setup.exe 在 Windows 10 PC 上安装了 Code::Blocks。我调整了设置以指向我的 Msys2 MinGW 编译器 C:\msys64\mingw64 和调试器 C:\msys64\usr\bin\gdb.exe。然后,我使用 Code::Blocks 在 c 中使用默认控制台应用程序创建了一个项目。它可以使用 Code::Blocks.

编译和 运行

当我调试它时,它失败了。 Code::Blocks报错:

Cannot open file: /c/GitLab/debugging-c-code/Exercise Files/Ch02/02_01/02_02_ide/main.c
At /c/GitLab/debugging-c-code/Exercise Files/Ch02/02_01/02_02_ide/main.c:6

main.c 文件已在 Code::Blocks 中打开。我认为 /c/c:\ 部分是问题所在。我不知道如何解决 Code::Blocks.

的问题

我的设置:

[..]which gcc
gcc is an external : C:\msys64\usr\bin\gcc.exe

[...]gcc --version
gcc (GCC) 9.1.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[...]which gdb
gdb is an external : C:\msys64\usr\bin\gdb.exe

[...]gdb --version
GNU gdb (GDB) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

确保在 CodeBlocks、MinGW-w64 或源项目所在的路径中没有任何特殊字符(空格、非 ASCII 字符)。

有关如何使用 MinGW-w64 配置代码块的更多信息,请参见此处:https://winlibs.com/#usage-codeblocks

我解决了这个问题...阅读了 HolyBlackCat 的评论后。 Cygwin 会破坏路径,因为它假定它在 Cygwin 环境中。

更新了我的 MSYS 安装并将 GDB 安装为完整工具链的一部分:

pacman -S mingw-w64-x86_64-toolchain

现在 GDB、GCC 和 Codeblocks 彼此都很满意,并以每个人都能理解的方式共享调试信息。现在 GDB 和 GCC 都位于 C:\msys64\mingw64.

我最初只安装了 GCC,然后根据需要安装了其他部分。