Как я могу получить поддержку библиотеки C ++ 11 с компилятором Intel на Mac OSX? - PullRequest
3 голосов
/ 24 августа 2011

Я хочу перенести довольно большое и все еще растущее приложение C ++ с ПК на Mac и продолжать поддерживать разработку параллельно на обеих платформах. На ПК мы используем MSVC2010 и внедряем несколько функций C ++ 11. На Mac мы используем XCode 4.0.2. Чтобы улучшить независимость от платформы и поддержать встроенную сборку, которую мы используем, мы развернем компилятор Intel на обоих. Тем не менее, компилятор не поставляется с библиотекой, поэтому мы полагаемся на те, которые поставляются поставщиками. На Mac это означает отсутствие поддержки библиотеки C ++ 11, для функций, которые мы очень хотим использовать, таких как std :: forward и так далее. Я не могу собрать libc ++ с компилятором Intel на Mac, иначе мои проблемы будут решены. Есть ли способ обойти это, кроме как катить наши собственные библиотеки?

Ответы [ 2 ]

1 голос
/ 22 марта 2015

Clang и Intel 15 поддерживают C ++ 11 на Mac и Linux. Официальные веб-сайты описывают состояние C ++ 11 функций Clang и Intel компиляторов.

На Mac компилятор Intel использует системную библиотеку C ++, которая предположительно связана с включенным набором инструментов Clang / LLVM.

$ otool -L threads
threads:
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

Программа threads может быть любой программой, которая вызывает вызов std::thread, например,

#include <thread>

int main()
{
    std::thread::id id;
}
1 голос
/ 12 сентября 2011

Если вы действительно не можете переключиться на другой компилятор на Mac, я бы посоветовал обратиться в службу поддержки Intel, чтобы они знали, что поддержка C ++ 11 важна для вас, и спросить их, насколько активно они ее реализуют, сейчас что новый язык является стандартом ISO.

Вполне возможно, что они также знают о рабочей библиотеке.

...