Я знаю, что об этом спрашивали кучу раз ... из того, что я могу сказать, эта ошибка, кажется, происходит по разным причинам (все очевидно связаны с "link.exe", не найдена), и ни один из ответов, которые я мы нашли решить проблему. В добавление к этому clang
не может найти link.exe
, но -I- может найти его через переменную окружения PATH (и любая оболочка / cmd / терминал, который я запускаю, может найти его, но сам clang
не может)
В моем случае я запускаю clang с флагом -v
, а затем в какой-то момент выдает:
"link.exe" -out:odbc.dll -defaultlib:libcmt -nologo -dll -implib:odbc.lib odbc.obj odbc32.lib
clang.exe: error: unable to execute command: program not executable
Если я запускаю точно такую же команду ссылки (двойные кавычки и все) за пределами из clang он связывает / компилирует и дает мне odbc.dll
(потому что я уже добавил инструменты компилятора V C в свою переменную окружения PATH
).
Почему это так?
Команда ввода: clang -mwindows -shared -o odbc.dll odbc.obj -lodbc32 -v
То же самое происходит с clang-cl
и соответствующими флагами. И gcc
, и cl.exe
работают иначе, я просто не могу заставить clang
работать (и мне нужно проверить clang
)
Моя переменная окружения в порядке и не содержит непреднамеренных символов Я дважды проверил.