1

いくつかのヘッダーファイルが提供された静的ライブラリ .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)
4

1 に答える 1