【发布时间】:2011-09-01 16:33:36
【问题描述】:
我在 Xcode 中使用 boost 库编写了一个 c++ 程序。这是我的代码。很简单。
#include <iostream>
#include </usr/local/include/boost/math/special_functions/beta.hpp>
using namespace std;
using namespace boost::math;
int main (int argc, char * const argv[])
{
double a = 100.0;
double b = 100000.0;
double x = 0.3;
double result = beta(a, b, x);
cout << result << endl;
return 0;
}
但是当我尝试在 Xcode 中构建它时,弹出了很多与库链接相关的错误。我注意到 Xcode 使用的编译器是“系统默认值:gcc 4.2”。所有其他选项都是 gcc 或 LLVM gcc(我不知道这是什么)。
我后来尝试简单地使用终端编译文件。奇怪的事情发生了。如果我用g++编译,没有任何额外的标志,编译成功,程序可以正常运行;但如果我用 gcc 编译它,就会出现错误页面。
所以,总而言之,在使用 g++ 时,一切正常;使用 gcc 时,一切都不正常。由于 Xcode 使用 gcc,因此无法使用 Xcode 编译程序。 (而且我有点需要使用 Xcode,因为这只是一个测试程序,实际上我有一个更大的项目要处理,并且我依赖于 Xcode 的调试器。)
所以我的问题是,gcc 和 g++ 之间到底有什么区别?或者如何将Xcode的编译器改为g++?
【问题讨论】:
标签: xcode gcc boost compiler-construction g++