LLVM не может найти цель из тройки.Моя тройная система по умолчанию - «i686-pc-win32» (я пытался изменить ее на «i686-pc-windows-msvc», но она все еще не работала).
Я не мог думать/ я многое узнал об изменении тройки, везде, где я смотрел, казалось, что люди, у которых была эта проблема, решили ее более 5 лет назад, просто изменив тройку, но по какой-то причине она не будет работать для меня.
Помимо измененияТройка, которую я также проверил, чтобы проверить модуль (что в порядке), и когда я вызываю функцию LLVM.PrintModuleToFile()
, она печатает все правильно (и тогда я могу использовать llc и clang, чтобы связать его с файлом .cpp, но затемЯ получаю другую ошибку, а именно: «A.obj: фатальная ошибка LNK1143: неверный или поврежденный файл: нет символа для секции COMDAT 0x5»).
var targetTriple = Marshal.PtrToStringAnsi(LLVM.GetDefaultTargetTriple());
//targetTriple = "i686-pc-windows-msvc";
if (LLVM.GetTargetTriple(targetTriple, out var target, out var err)) {
Console.WriteLine(err);
Console.ReadLine();
return;
}
При запуске этого кода вводится тело if иотображается следующая ошибка: «Нет доступных целей, совместимых с этой тройкой».
Заранее благодарен за любую помощь!