У меня есть статическая библиотека .a с несколькими предоставленными файлами заголовков. Я хочу связать его с файлами .o в двоичный файл с помощью компилятора Green hills. Ошибка, которую я получаю:
[elxr] (ошибка № 412) неразрешенные символы.
Я пытаюсь указать путь к заголовочным файлам, предоставляющим -I filepath
компоновщику.
Однако, похоже, это не работает.
Обновлено с кодом.
# Recipe for linking
__GHSRH850_ERRALL += $(__GHSRH850_TARGETERR)
GHSRH850_LIB = SRC\MCU\DROME\RGL\libd1mx_rh850_ghs.a
$(GHSRH850_TARGETEMU): $(__GHSRH850_OBJS) $(GHSRH850_LSCRIPT) $(GHSRH850_LIB) \
$(CORE_MAKPREREQS) | __GHSRH850_DIRS
$(call CORE_REPORTFILE,Linking,$(@F))
$(eval __GHSRH850_ERRDONE += $(__GHSRH850_TARGETERR))
$(GHSRH850_LD) \
$(GHSRH850_LSCRIPT) \
-o $@ \
$(GHSRH850_LIB) \
$(__GHSRH850_OBJS) \
$(GHSRH850_LFLAGS) \
> $(__GHSRH850_TARGETERR)
Файл make довольно большой, поэтому я не могу разместить его здесь целиком. В основном библиотека добавляется с помощью:
GHSRH850_LIB = file\path\to\libname.a
В flags добавлен путь к файлам с заголовками:
GHSRH850_LFLAGS += -I file\path\to\headers
Другие описания:
GHSRH850_LFLAGS
— Флаги линкера
GHSRH850_LSCRIPT
— файл скрипта компоновщика
__GHSRH850_OBJS
- Список файлов объектов
Компилятор, который используется ccrh850.exe.
Код ошибки:
[elxr] (error #412) unresolved symbols: 35
_R_UTIL_DHD_Init from drglgmm_dhd.o
_R_UTIL_DHD_Config from drglgmm_dhd.o
_R_DEV_SQRTF from libd1mx_rh850_ghs.a(r_drw2d_main.o)
_R_VDCE_Sys_HsyncActLevelSet from libd1mx_rh850_ghs.a(r_vdce_api.o)
gcc
, что сбивало с толку.) - person Ian Abbott   schedule 14.03.2019cc
это делалось с опцией-L
, поэтому я думаю, что то же самое и для компилятора Green Hills C. Также параметрl
в нижнем регистре указывает имя библиотеки без префикса lib, например-lname
указываетlibname.a
илиlibname.so
. - person Ian Abbott   schedule 14.03.2019GHSRH850_LFLAGS += -I file\path\to\headers
Это неправильно. Файлы заголовков используются только на этапе компиляции. На этапе компоновщика необходим путь к библиотекам и (сокращенные) имена библиотек. - person user3629249   schedule 14.03.2019