我使用下载的二进制codebblocks -20.03-setup.exe在Windows 10 PC上安装了Code::Blocks。我调整了设置,以指向我的Msys2 MinGW编译器C:msys64mingw64
和调试器C:msys64usrbingdb.exe
。然后,我用c语言使用Code::Blocks创建了一个带有默认控制台应用程序的项目。它可以使用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:msys64usrbingcc.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:msys64usrbingdb.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.
我解决了这个问题…看了HolyBlackCat的评论后。Cygwin将损坏的路径,因为它假定在Cygwin环境。
更新我的MSYS安装和安装GDB作为一个完整的工具链的一部分:
pacman -S mingw-w64-x86_64-toolchain
现在GDB, GCC和Codeblocks彼此都很高兴,并且以每个人都能理解的方式共享调试信息。现在GDB和GCC都驻留在C:msys64mingw64
中。
我最初只安装了GCC,然后根据需要安装了其他部分。
确保在CodeBlocks, MinGW-w64或源项目所在的路径中没有任何特殊字符(空格,非ASCII字符)。
关于如何使用MinGW-w64配置CodeBlocks的更多信息可以在这里找到:https://winlibs.com/#usage-codeblocks