Разница между gcc и g ++ при запуске программы на c ++ с библиотекой boost? - PullRequest
0 голосов
/ 01 сентября 2011

Я написал программу на C ++, используя библиотеку boost в Xcode.Вот мой кодЭто очень просто.

#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, был "System Default: gcc 4.2".И все остальные варианты - gcc или LLVM gcc (я понятия не имею, что это такое).

Позже я попытался скомпилировать файл, просто используя терминал.Странная вещь произошла.Если я скомпилирую его с помощью g ++ без каких-либо дополнительных флагов, компиляция завершится успешно, и программа сможет нормально работать;но если я скомпилирую его с помощью gcc, есть страницы с ошибками.

Итак, подведя итог, при использовании g ++ все в порядке;при использовании gcc все не в порядке.Поскольку Xcode использует gcc, программа не может быть скомпилирована с использованием Xcode.(И мне как бы нужно использовать Xcode, потому что это всего лишь тестовая программа, у меня на самом деле гораздо больший проект для обработки, и я зависим от отладчика Xcode.)

Итак, мой вопрос: ЧТОАД разница в gcc и g ++?Или как мне изменить компилятор Xcode на g ++?

Ответы [ 2 ]

1 голос
/ 01 сентября 2011

gcc - это компилятор C.

g ++ - компилятор C ++.

Вы пытаетесь скомпилировать C ++, поэтому вам нужно использовать компилятор c ++.

Поиск в Google «Использование XCode для c ++» дает множество результатов, но этот показался довольно простым и содержал картинки:

https://www.cs.drexel.edu/~mcs171/Wi07/extras/xCode_Instructions/index.html

0 голосов
/ 01 сентября 2011

Команда gcc компилирует файлы C (хотя вы также можете использовать -libstdc ++) для связи файлов C ++, но я не рекомендую это делать. Команда g ++ работает для файлов C ++, поэтому она работала в вашем случае.

Для XCode вы должны изменить компилятор с GCC на G ++, чтобы он успешно работал.

...