LLVM-Clang для Eclipse CDT в MAC OS X - PullRequest
2 голосов
/ 10 марта 2012

Возникли проблемы с компиляцией LLVM-Clang через Eclipse. Просто протестируйте его на примере Hello World, который поставляется по умолчанию с CDT. Это дает следующую ошибку:

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
Внутренний построитель: не удается запустить программу "llvm-ld": неизвестная причина
Ошибка: Программа "llvm-ld" не найдена в PATH

PATH = [/ USR / бен: / бен: / USR / SBIN: / SBIN]
Произошла ошибка сборки, сборка остановлена ​​

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

clang ++ -O0 -emit-llvm -g3 -Wall -c -fmessage-length = 0 -o src / Test.bc ../src/Test.cpp
llvm-ld -v -native -o Тестовая отладка / src / Test.bc
Связывание файла битового кода «Debug / src / Test.bc»
llvm-ld: ошибка: невозможно загрузить файл 'Debug / src / Test.bc': файл битового кода 'Debug / src / Test.bc' не может быть загружен: неизвестный тип в таблице типов

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

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

Clang -v говорит 3.1
LLVM v3.0

Ответы [ 2 ]

6 голосов
/ 30 апреля 2012

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

Я протестировал его с помощью плагина Eclipse llvm4cdt .

0 голосов
/ 14 марта 2012

Я столкнулся с подобной проблемой и внес изменения в Настройки Eclipse -> C / C ++ -> Build -> Environment. Выберите «Select ...», «PATH», «Edit ...» и добавьте местоположение вашего исполняемого файла llvm-ld. Затем проект построен правильно для меня.

...