c++ - 通过 Xcode 调试使用 CGAL 的代码

标签 c++ xcode debugging cgal

我想使用 Xcode 调试使用 CGAL 的程序,但我无法让 Xcode 运行程序或在断点处停止。 Xcode 将编译该程序(我通过在终端窗口中运行结果验证了这一点)。我可以设置断点,但当我单击“运行”按钮时,Xcode 似乎没有运行该程序。

我将代码简化为这个简单的例子:

#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Polygon_2.h>
#include <iostream>

typedef CGAL::Exact_predicates_exact_constructions_kernel K;
typedef K::Point_2 Point_2;
typedef CGAL::Polygon_2<K> Polygon_2;

int main(int argc, char *argv[]) {
Point_2 pts[] = { Point_2(0.0,0.0), Point_2(2.0,0.0), Point_2(1.0,2.0) };
Polygon_2 poly( pts, pts + 3 );
if(poly.is_simple()) std::cout << "Polygon is simple\n";
else std::cout << "Polygon is not simple\n";
return 0;
}

我使用 cgal_create_CMakeLists 创建了 Xcode 项目。此脚本为我创建项目文件:

#!/bin/sh

~/dev/CGAL-4.1/scripts/cgal_create_CMakeLists -s cgal_xcode -c Core
cmake -GXcode -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS=-O0 -DCGAL_DONT_OVERRIDE_CMAKE_FLAGS=TRUE .

我在 OS X 10.8.3(在 MacBook 上运行,2008 年底)上使用 CGAL 4.1 和 Xcode 4.6.1。

我对 Xcode 非常缺乏经验,所以这很可能是一个简单的错误(遗漏设置等)。

最佳答案

我找到了问题的答案。我没有为调试方案设置可执行文件。另一篇文章为我指明了正确的方向,Xcode 4.2 Product -> Run Greyed Out

要设置可执行文件,我转到 Product->Scheme->Edit Scheme... 这会打开一个对话框。在框的左侧,单击“调试”。在中心区域,我选择“信息”选项卡。最后,在中心,我将“可执行”选项从“无”更改为我的程序名称。现在我的程序在断点处运行和停止。

一旦我找到要查找的位置就足够简单了。

关于c++ - 通过 Xcode 调试使用 CGAL 的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15594828/

相关文章:

c++ - QMetaObject 在指针列表中查找类名

objective-c - XCode - 将测试与源链接,而不将所有源文件添加到测试任务

c++ - 两个 std::arrays 的交叉部分

c++ - 在 ubuntu 上编译 lsnes 模拟器时出错

objective-c - 在通用应用程序上分离 iPhone 和 iPad 类有什么好处吗?

objective-c - 整体亮度/ Gamma ?

android - 在我的手机上调试(Eclipse,Android)

java - 线程 "main"java.util.InputMismatchException 中出现错误异常

c# - 正确使用断言和异常

c++ - C++ 中的精度