1

我刚开始编写 C++,首先是 ms Visual c++,然后是 Code::Blocks。

问题是在我的电脑上,运行 Ubuntu,Code::Blocks “开箱即用”不能调试,即使是默认的“hello world”,它只是跳过所有断点并完成程序。

我有一台使用 Sun 的 VirtualBox 和窗口的 Code::Blocks 的虚拟化 Windows 机器,我放在那里运行得很好“开箱即用”!

ubuntu 上的程序,当我尝试调试时显示:找不到名为“a/b/c”的命名空间、类、结构或联合的成员,其中 a/b/c 是我所在程序的路径建筑是。

这就是调试器日志中显示的内容:


构建以确保源是最新的
构建成功
选择目标:
调试
添加源目录:/home/arnau/Documents/UNI/compus/Code::Blocks/opo/
添加源目录:/home/arnau/Documents/UNI /compus/Code::Blocks/opo/
添加文件:bin/Debug/opo
启动调试器:
done
注册新类型:wxString
注册新类型:STL String
注册新类型:STL Vector
Setting breakpoints
调试器名称和版本:GNU gdb 6.8- Debian

找不到名为“/home/arnau/Documents/UNI/compus/Code::Blocks/opo/main.cpp:8”的命名空间、类、结构或联合的成员
提示:尝试“/home/arnau/ Documents/UNI/compus/Code::Blocks/opo/main.cpp:8 或 '"/home/arnau/Documents/UNI/compus/Code::Blocks/opo/main.cpp:8
(注意前导单引号。 )
程序正常退出。
调试器以状态 0 完成


谢谢你的时间,我真的很感激。

来自巴塞罗那的阿尔瑙

4

1 回答 1

4

您对源目录的命名:.../Code::Blocks/...是最不幸的。

虽然 UNIX 允许文件名中包含任何字符,除了'/'and之外,NUL使用.':'PATH/home/arnau/Documents/UNI/compus/Code::Blocks/opoPATH

其中GDB还有两个额外的含义':'——文件名和行号(或函数名)之间的分隔符,以及 '::'作为范围指示符(处理所需C++)。

摘要:将"Code::Blocks"目录重命名为codeblocks,从此过上幸福的生活。

于 2009-10-25T17:51:18.717 回答