gcc (кросскомпилирование) crt1.o not found

yroslavasako

Производитель встраиваемого обуродования предоставляет sdk для linux - набор файлов россыпью без какого-либо указания как их использовать. Файлы похожи на тулчейн для кросскомпиляции, и я пытюась написать для него правильный makefile.
Сейчас make жалуется на отсутствие crt1.o - то есть рантайм библиотек, который лежат в одной из папочек типо sdk. Какой параметр надо задать g++, чтобы эти библиотеки подцепились?
Пробовал LD_RUN_PATH, --rpath, --rpath-link - ошибка остаётся на месте

procenkotanya

-L/path/to/libdir
edit: либо переменная LIBRARY_PATH

yroslavasako

-L/path/to/libdir
edit: либо переменная LIBRARY_PATH
-L пробовал, теперь попробую LIBRARY_PATH. А потом, наверное, откажусь от g++ и всё необходимое буду делать руками

salamander

У тебя кто жалуется-то? make? Тогда чем тебе опции g++ помогут? И -L, LD_LIBRARY_PATH, и т.д. они для библиотек (которые ты просишь прилинковать -l<libname> а не голых объектников.
upd: а, этот crt1.o похоже добавляется компилтяором явно при вызове линкера. Не думаю, что на него распространяются опции типа -L. Подсунуть g++ параметр "-###", и псмотреть, что передается в collect2.

erotic

По-моему когда я кросс-компиляцией занимался, приходилось -B использовать. Попробуй.
Оставить комментарий
Имя или ник:
Комментарий: