调试使用CGAL和Xcode的代码

时间:2013-03-24 03:24:29

标签: 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上使用CGAL 4.1和Xcode 4.6.1(在MacBook上运行,2008年末)。

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

1 个答案:

答案 0 :(得分:1)

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

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

一旦我找到了要去的地方,就够了。