2013-06-11 5 views
1

Мне нужно связать с .so файлами и заголовками, найденными в/root/lib и/root/include в проекте в xcode 3.2.6. ROOT является основой анализа CERN.Ссылка на файлы ROOT в xCode

Существует утилита корневой конфигурации, которая будет возвращать все библиотеки необходимо, я могу скомпилировать в командной строке с помощью:

CFLAGS = `root-config --cflags` 
GLIBS = `root-config --glibs` 

test : main.cpp main.h 
    g++ $(CFLAGS) $(GLIBS) -g -Wall main.cpp -02 -o test 

Программа прекрасно работает без каких-либо ошибок. Но, я хочу использовать Xcode для всего проекта, но не может получить его либо

A: Используйте эту утилиту

или

B: поиск правильных путей к .so файлов. Я включил/root/lib и/root/include в переменные build_search_paths и library_search_paths в настройках сборки. Я тогда на самом деле ввести в файлах мне нужно в other_linker_flags как так: -llibTree -llibHist -llibRIO -llibCint -llibCore

Xcode возвращает сообщение:

ld: library not found for -llibTree 
collect2: ld returned 1 exit status 
Command /Developer/usr/bin/g++-4.2 failed with exit code 1 

Кто-нибудь знает, что происходит? Может ли xCode компилировать файлы .so? Есть ли другая проблема?

ответ

3

Это не имеет никакого отношения к ROOT. Чтобы связать библиотеку с именем libSomething.so в пути поиска в библиотеке, вы можете использовать флаг компоновщика -lSomething. Вы хотите установить ссылку на, например, libTree.so, поэтому правильный флаг для использования будет -lTree, а не -llibTree который будет искать liblibTree.

+0

Мои ссылки проекта ok на libCling.so, но throws 'dyld: библиотека не загружена: @ rpath/libCling.so Причина: изображение не найдено' никаких идей? – rraallvv

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