0

我在目录“项目”中有一个大项目。我使用 cmake 将这个项目构建到另一个目录“build”中。对于编码,我尝试使用 Eclipse,但是当我尝试将代码导入 Eclipse 时( File->Import->C/C++->Existing Code as Makefile Project ),当然我只能导入“build”目录而没有“project "(因为 make 文件在 "build" 中,而 Eclipse 的 "project" 是空的)。

当我在调试模式下运行我的构建时,我只能调试二进制数据,因为调试器在“项目”目录中看不到源。如何设置调试器以使用“项目”目录中的源?谢谢有人回答!

4

3 回答 3

0

如果您在系统上构建应用程序,则不需要工作区中的源来调试应用程序 - 构建目录和路径在您的可执行调试信息中。

  1. 确保将 -g 都传递给编译器和链接器。
  2. 尝试命令行 GDB - 它也应该找到源代码。
  3. 在设置启动配置时,您可以在 Eclipse CDT 调试器中设置自定义源映射 - 但我相信这主要适用于在构建应用程序之后移动源或构建在另一个系统上的情况。
于 2013-02-08T17:51:06.150 回答
0

将您的项目(rootdir not build)作为 MakeFile 项目导入工作区(选择 GNU 工具链或 Linux GCC)。现在打开您的项目属性 - > c++ build 并选择项目中的构建文件夹。

现在您可以编译它并创建一个新的运行配置以进行调试。

格力兹祖色

编辑:

我假设你的根文件夹看起来像这样

制作/

CmakeList.txt

源/

部门/

../

现在你创建一个文件夹 build 你切换到 build 并运行 cmake cmake ../ -flags (没有 eclipse-project,使用默认 gcc)

完成此操作后,您可以将根文件夹导入 eclipse cdt 并选择 root/build 作为构建文件夹。问题出在哪里?Eclipse CDT 现在只想知道 makefile 在构建时的位置(这就是为什么您需要手动选择构建文件夹)

于 2013-02-04T14:20:47.270 回答
0

这是我如何做的,一步一步。这是我从 github 下载的一个简单的 cmake 项目。像伤害一样工作。imagebam.com http://thumbnails101.imagebam.com/23645/1e5c42236445850.jpg imagebam.com http://thumbnails101.imagebam.com/23645/64cb47236445860.jpgimagebam.com imagebam.com imagebam.com imagebam.com imagebam.com imagebam.com imagebam.com

于 2013-02-09T13:23:43.813 回答