c++ - xcode 6.3.2 外部构建

标签 c++ xcode makefile

我正在尝试编译一个现有的 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?并没有找到任何有效的方法。

我认为这可能是运算符(operator)错误,因为我正在使用 Product->Run 运行目标,但我没有看到任何像 intellij 这样专门启动 Debug模式的选项。我还可以暂停代码并出现调试器 View ,但当我暂停时它只显示汇编指令。

最佳答案

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

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

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

关于c++ - xcode 6.3.2 外部构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30903437/

相关文章:

c++ - 错误 : ‘fileno’ was not declared in this scope

c++ - 不能迭代 vector

ios - Xcode 6.1 名为 "LaunchImage"的启动图像集没有任何适用的内容

c - 一个进程是否有可能改变它自己的线程堆栈大小?

objective-c - 在gdb中调试objc时如何检查 'super'

xcode - Cocoa Touch 框架与 Cocoa Touch 静态库

makefile - 怎么办 "make <subdir> <target>"?

c++ - std::scientific 是否总是导致 float 的规范化科学计数法?

c++ - 我如何让它调用正确的构造函数?

c++ - 尝试构建 C++ Dlib 示例无法链接数百个 undefined reference 错误