2012-03-10 4 views
2

Не удается получить компиляцию LLVM-Clang через Eclipse. Просто протестируйте его на примере приветствия, который поставляется по умолчанию с CDT. Его дает следующее сообщение об ошибке:LLVM-Clang для Eclipse CDT на MAC OS X

clang++ -O0 -emit-llvm -g3 -Wall -c -fmessage-length=0 -o src/Test.bc ../src/Test.cpp
llvm-ld -v -native -o Test src/Test.bc
Internal Builder: Cannot run program "llvm-ld": Unknown reason
Error: Program "llvm-ld" is not found in PATH

PATH=[/usr/bin:/bin:/usr/sbin:/sbin]
Build error occurred, build is stopped

Я не знаю, почему его жалуясь PATH, потому что я могу вызвать лязг ++ и LLVM-ЛД команды через терминал просто отлично. Фактически, когда я набрал вышеуказанное через Терминал, я получил следующую ошибку.

clang++ -O0 -emit-llvm -g3 -Wall -c -fmessage-length=0 -o src/Test.bc ../src/Test.cpp
llvm-ld -v -native -o Test Debug/src/Test.bc
Linking bitcode file 'Debug/src/Test.bc'
llvm-ld: error: Cannot load file 'Debug/src/Test.bc': Bitcode file 'Debug/src/Test.bc' could not be loaded: unknown type in type table

Возможно, это не проблема Eclipse? Никогда не было большого количества компилятора из командной строки, поэтому мои знания там ограничены.

Я бегу лев. Установлен clang с помощью инструментов командной строки XCode. Установлен LLVM через Macports. Пришлось вручную установить путь для LLVM.

Clang -v говорит 3.1
LLVM является v3.0

+0

Является ли Eclipse тем же путем, что и ваша оболочка? Ошибка говорит: «PATH = [/ usr/bin:/bin:/usr/sbin:/sbin]», но llvm-ld, вероятно, где-то вроде '/ opt/local/bin'. – matt

+0

Где я могу узнать, какой путь использует Eclipse? –

+0

Простите, прошло некоторое время с тех пор, как я использовал Eclipse, и тогда это была только Java - я не использовал CDT. Вам нужно будет просмотреть настройки Eclipse и посмотреть, сможете ли вы его найти. – matt

ответ

0

Я сталкивался с подобной проблемой и сделал изменения в настройках Eclipse, -> C/C++ -> Build -> Environment. Выберите «Выбрать ...», «ПУТЬ», «Изменить ...» и добавьте местоположение исполняемого файла llvm-ld. Тогда проект правильно построил для меня.

+0

Пробовал это тоже. Не работает. Учитывая, что это все еще не работает в командной строке, я думаю, что что-то еще происходит за пределами Eclipse. Я отказался от этого и вернулся в gcc. –

6

В свойствах проекта> C/C++ Build> Параметры выбирают LLVM C++ Linker, а затем заменяют команду llvm-ld на clang ++ (в инструменте командной строки XCode нет llvm-ld-компоновщика ... пусть clang ++ вычисляет для вызова компоновщика).

Я проверил его, используя llvm4cdt Eclipse plugin.