いくつかのヘッダーファイルが提供された静的ライブラリ .a があります。Green Hills コンパイラを使用して、.o ファイルとリンクしてバイナリに変換したいと考えています。私が得るエラーは次のとおりです。
[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
フラグで、次のヘッダーにファイルパスを追加しました。
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)