3

Какой самый простой способ настроить полный Clang, libc++ и LLVM в качестве глобального набора инструментов по умолчанию? Все мои попытки построить его, в большинстве конфигураций, о которых я только мог подумать, привели к работе Clang, но он не использовал заголовки libc++, а по умолчанию использовал libstd++ GCC, что приводило к многочисленным ошибкам в несовместимых частях библиотечного кода.

Мне бы хотелось, чтобы он работал "из коробки", не прибегая к волшебству в .bashrc или передавая все эти -stdlib=libc++ и -lc++ компилятору и компоновщику.

1 ответ1

3

Судя по тому, как LLVM и Clang были интегрированы в базу FreeBSD, я думаю, что вам нужно будет взломать внутренние компоненты Clang, чтобы установить пути к библиотекам и заголовкам (lib/Frontend/InitHeaderSearch.cpp) для вашей системы.

Использование libc++ по умолчанию определенно требует изменения кода (grep lib/Frontend/CompilerInvocation.cpp для "UseLibcxx"). Вам, вероятно, придется взломать системный компоновщик, чтобы изменить -lstdc++ на -lc++ .

Лично я бы порекомендовал вам просто установить CC, CXX, CFLAGS, CXXFLAGS и другие переменные для достижения того же результата без особых хлопот. У меня это работает безупречно во FreeBSD.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .