1

我想使用 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 非常缺乏经验,所以这可能是一个简单的错误(错过设置等)。

4

1 回答 1

1

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

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

一旦我发现在哪里看,就足够简单了。

于 2013-03-24T18:51:41.343 回答