LINUX.ORG.RU

Как изменить target по умолчанию в Clang?

 ,


0

1

Есть Clang на оффтопике:

C:\Users>clang++ --version
clang version 8.0.0 (tags/RELEASE_800/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin

По умолчанию он хочет стандартную либу от M$:

C:\Users>clang++ hello.cpp -o hello-clang.exe
clang++: warning: unable to find a Visual Studio installation; try running Clang from a developer command prompt [-Wmsvc-not-found]
hello.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
         ^~~~~~~~~~
1 error generated.

У меня есть MinGW, который я хочу чтоб Clang использовал. Однако надо явно подать аргумент --target:

C:\Users>clang++ --target=x86_64-pc-windows-gnu hello.cpp -o hello-clang.exe

C:\Users>hello-clang.exe
Hello, World!

Можно ли поменять конфигурацию Clang так, чтоб он по умолчанию выбирал target: x86_64-pc-windows-gnu? В интернетах нашел только как пересобрать Clang с таким конфигом. Не очень хочется пересобирать :/ Может есть какая-то переменная среды или текстовый конфиг чтоб поменять умолчания?

Ответ на: комментарий от Deleted

alias-ы твой MinGW поддерживает?

Да, но они крайне локальны: в скриптах не работают, cmd.exe вообще имеет синдром Дауна.

KennyMinigun ★★★★★
() автор топика
Ответ на: комментарий от KennyMinigun

в скриптах не работают

Костыль! Не знаю, сработает ли. С offtop-ом не дружу.

mv clang++.exe clang++bin.exe
echo "clang++bin --target=x86_64-pc-windows-gnu $@" > clang++.sh
Deleted
()
Ответ на: комментарий от anonymous

x86_64-pc-windows-gnu-clang++ --version

Хм, хоть LLVM (под оффтопик) такого не предоставляет, но написать самому вполне себе вариант, спасибо

KennyMinigun ★★★★★
() автор топика
Ответ на: комментарий от KennyMinigun

x86_64-pc-windows-gnu-clang++ --version

LLVM (под оффтопик) такого не предоставляет

Это в gentoo. В других дистрах скорее всего не так

вполне себе вариант

Это и было предложено как вариант.

anonymous
()

а зачем собственно ?

даже в древнейших Makefile

CXX=clang++ --target=x86_64-pc-windows-gnu

спасёт «отца русской демократии»

аналогично помогает установка соотв. переменной окружения (если CXX не переопредён далее)

модные cmake и IDE должны сами разбираться, иначе нахрен они нужны. А если вы в винде компилируете из ком.строки, то это что-то из психиатрии, хотя на ЛОР найдутся и такие спецы :-)

MKuznetsov ★★★★★
()
Последнее исправление: MKuznetsov (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.