Как мне связаться с библиотеками LLVM? - PullRequest
2 голосов
/ 09 декабря 2011

Когда я использую команду "gcc .. ../../*.so", появляются следующие сообщения об ошибках:

/usr/bin/ld: /home/demonwnb/build/src/*.so: error: undefined reference to 'llvm::raw_ostream::operator<<(void const*)'
/usr/bin/ld: /home/demonwnb/build/src/*.so: error: undefined reference to 'clang::DeclarationName::printName(llvm::raw_ostream&) const'

Я думаю, что неправильно связываю "llvm library", так как мне быть?

Ответы [ 2 ]

4 голосов
/ 09 декабря 2011

Вы должны указать своему компилятору, откуда загружать библиотеки, что можно сделать с помощью команды llvm-config.

Вы можете установить следующие символы в вашем файле сборки

CC = g++

LLVM_MODULES = core jit native

CPPFLAGS = `llvm-config --cppflags $(LLVM_MODULES)`
LDFLAGS = `llvm-config --ldflags $(LLVM_MODULES)`
LIBS = `llvm-config --libs $(LLVM_MODULES)`

all:
    $(CC) *.o $(LDFLAGS) $(LIBS) -o MyOutput
main:
    find -name '*.cpp' -print0 | xargs -0 $(CC) -c $(CPPFLAGS)
1 голос
/ 09 декабря 2011

Вы пытались использовать g ++ для ссылки? Это библиотеки C ++, и gcc не передает библиотеки C ++ компоновщику.

...