【问题标题】:xcode 6.3.2 external buildxcode 6.3.2 外部构建
【发布时间】:2015-06-17 22:20:43
【问题描述】:

我正在尝试编译一个现有的 c++ 项目,该项目最初是在 linux 上使用 gcc 开发的。唯一的外部库是 GSL(GNU 科学库)。我已经创建了一个外部构建工具项目来使用 xcode 的调试器,但我目前有两个问题。

1) 当我尝试在 xcode 中构建时,它失败并出现错误 'gsl/gsl_matrix.h' file not found。我已将/usr/local/include 添加到HEADER_SEARCH_PATHS 并确认该位置有一个gsl 文件夹,其中包含所有头文件(与brew 一起安装)。但是,如果我在 CL 中键入 make,则项目编译时不会出现任何错误,因此我知道我的 GSL、makefile 或从 gcc 到 clang 的切换都没有问题。

我查看了Xcode 6.3.2 unable to build or run projects,并在基础版本中更新了我的 xcode CL 工具,但我已经使用了最新的 (2339)。

2) 虽然从 xcode 中构建会很好,但如果我每次都必须从 CL 构建,这并不是世界末日。但是,一旦我编译了所有可以从 xcode 运行它的东西,我的断点都不会被命中。我在调试方案中设置了可执行文件和自定义工作目录(如Run C program in Xcode 4 using makefile 所示)。我还查看了 Why aren't my breakpoints working? 并没有找到任何有效的方法。

我认为这可能是操作员错误,因为我使用 Product->Run 运行目标,但我没有看到任何选项来专门启动调试模式,如 intellij。我还可以暂停代码并显示调试器视图,但是当我暂停时它只会显示汇编指令。

【问题讨论】:

  • 我遇到了同样的问题,有人可以发布答案吗?我试过把它关掉再打开
  • 我也坚持这一点。我想创建一个 Makefile,这样我就可以在 Mac 和 linux 机器上编译它。我在“构建设置”下添加了 -I/usr/local/include/igraph 到 OHTER_CFLAGS 和 -L/usr/local/lib 到 OTHER_LDFLAGS。我在哪里添加-l graph

标签: c++ xcode makefile


【解决方案1】:

嗯,我已经解决了我的两个问题。

1) 在外部构建工具配置中,我必须取消选中“在环境中传递构建设置”。

2) 我在这里有点白痴...我尝试将 -g 添加到我的 $(FLAGS) 变量中,但意识到这仅适用于我的可执行文件。我修改了 makefile 以使用 -g 编译每个源文件,然后在源代码上停止断点(而不是反汇编)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 2015-08-15
    • 2015-11-09
    相关资源
    最近更新 更多