2014-01-24 4 views
2

Хорошо, я понятия не имею, что происходит? Я просто следую некоторым инструкциям (видимо, для ОС ubuntu) на моем macbook.Ошибка Cmake при построении пакета

Все шло отлично до последнего шага.

Когда я make, я вижу следующее сообщение об ошибке:

Linking CXX executable ../../bin/test-wordcount 
ld: warning: path '/usr/local/lib/libprotobuf.dylib' following -L not a directory 
ld: warning: path '/usr/local/lib/libzmq.dylib' following -L not a directory 
Undefined symbols for architecture x86_64: 
    "_del_curterm", referenced from: 
     terminalHasColors(int) in libLLVMSupport.a(Process.o) 
    "_set_curterm", referenced from: 
     terminalHasColors(int) in libLLVMSupport.a(Process.o) 
    "_setupterm", referenced from: 
     terminalHasColors(int) in libLLVMSupport.a(Process.o) 
    "_tigetnum", referenced from: 
     terminalHasColors(int) in libLLVMSupport.a(Process.o) 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make[2]: *** [bin/test-wordcount] Error 1 
make[1]: *** [test/wordcount/CMakeFiles/test-wordcount.dir/all] Error 2 
make: *** [all] Error 2 

Что мне не хватает?

Мой CMakeLists.txt файл http://collabedit.com/8vc7s

+0

Это ваш собственный проект? Если нет, какой проект в какой версии? Если это ваше собственное, попробуйте заменить '-L' на' -l' (нижний регистр L) в вашем CMakeLists.txt. – usr1234567

+0

@ user2799037: Я не вижу ни одного -L в моем CMakeLists.txt :( – Fraz

+0

Как вы добавляете свою библиотеку? Это должно быть сделано с помощью 'add_library. CMake автоматически добавит права -L/-l. – usr1234567

ответ

1

Вы используете заголовок term.h, но библиотека, которая содержит эти (экспортированных) символы (del_curterm, ...) не на вашем пути LD term.h. Найдите библиотеку, которая имеет ее для вашей платформы, установите ее и добавьте в нее список -L swich.

см также предупреждение о Л.Д. unexisting каталогов

+0

Спасибо за ответ. Я использую горный лев OSX .. Как мне установить term.h для моей платформы и где я могу добавить -L-переключатель .. извините за задание таких основных вопросов – Fraz

+0

Попробуйте пакет ma nager для вашей системы (у меня нет этой ОС). -L swich добавляется CMAKE, но, вероятно, установленный пакет окажется в/usr/local/lib или где-то, что уже включено – Peter

+0

Привет .. Снова .. Вот файл http://collabedit.com/8vc7s Я не уверен, где добавить что? :(Не могли бы вы взглянуть на файл и сделать рекомендации? – Fraz

4

Я знаю, что это старый стек, но он показывает, в первые несколько поисковых попаданий при поиске решения этой проблемы.

В OSX вам может потребоваться добавить «ncurses» в ваши целевые библиотеки ссылок. Т.е .:

TARGET_LINK_LIBRARIES (MyProject Ncurses $ {LLVM_LIBRARY} [... все ваши библиотеки])

Смежные вопросы