Мне нужно сделать ссылку на файлы .so и заголовки, найденные в / root / lib и / root / include в проекте в xcode 3.2.6. ROOT — это аналитическая структура от CERN.
Существует утилита root-config, которая вернет все необходимые библиотеки, которые я могу скомпилировать в командной строке, используя:
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 в переменные сборки header_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 файлы? Есть ли здесь другая проблема?
Это не имеет ничего общего с ROOT. Для ссылки на библиотеку с именем libSomething.so
в пути поиска библиотеки вы можете использовать флаг компоновщика -lSomething
, Вы хотите связать, например, с libTree.so
так что правильный флаг для использования будет -lTree
не -llibTree
который будет искать liblibTree
,
Других решений пока нет …