| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Как указать путь к perl.h в Makefile? |
| Автор: Dims 1.6.2009, 19:42 | ||||||||
При компилляции одной программы возникают ошибки ненайденности файлов, таких как:
Эти файлы у меня хранятся в директории
где, видимо, лежат исходники Перла. То есть, путь к этим инклюдам где-то теряется в Makefile. Внутри Makefile нашёл такое место
Что это означает? Не означает ли это, что где-то здесь и надо прописать этот путь? Где? Что означает строка
? |
| Автор: vinick 1.6.2009, 20:47 |
| Эта строка относится к параметрам линкера. К инклюдам она отношения не имеет. Надо смотреть что-то типа CXXFLAGS Откуда берется Makefile? он уже готовый или генерируется скриптом типа configure. Если последнее, то надо посмотреть в опциях скрипта. |
| Автор: Dims 1.6.2009, 21:15 |
| В общем, я ошибся. Директория с перлом искалась строкой PERL_CORE = $(strip $(shell $(PERL) -MExtUtils::Embed -e perl_inc | sed 's/[ \t]*-I//')) а файла Embed.pm не было. Проблема решилась установкой пакета perl-ExtUtils-Embed. А всё-таки, что делает строка, которая меня заинтересовала изначально? |
| Автор: xvr 2.6.2009, 11:15 | ||
Добавляет к опциям на этапе линковки -Wl,-rpath,<путь на PERL>, что обозначает: передать линкеру (-Wl) опцию -rpath <путь на PERL>, что в свою очередь обозначает - добавить в пути поиска .so библиотек путь <путь на PERL> (этот путь будет прописан прямо в исполняемый файл). Видимо оттуда должны браться динамические библиотеки PERL'а |
| Автор: Dims 3.6.2009, 13:48 |
| Чё-то не врубаюсь. А вот такая строка что делает: LDFLAGS += -static Такое впечатление, что она добавляет к переменной LDFLAGS какую-то строку. Но какую? Прямо строку "-static" что ли? |
| Автор: xvr 3.6.2009, 13:52 | ||
Да. Это ключ, заставляющий линкер линковать все библиотеки статически (по мере возможности |