gpt4 book ai didi

c - 使用 Green Hills 编译器将静态库与 header 链接起来

转载 作者:太空宇宙 更新时间:2023-11-04 04:13:01 25 4
gpt4 key购买 nike

我有一个静态库 .a,其中提供了几个头文件。我想使用 Green hills 编译器将它与 .o 文件链接成二进制文件。我得到的错误是:

[elxr] (error #412) unresolved symbols.

我正在尝试指定向链接器提供 -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

在标志中添加文件路径到 header :

GHSRH850_LFLAGS += -I 文件\路径\到\ header

其他说明有:

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)

最佳答案

感谢大家的快速回答。问题解决了。基本上错误是由于其他源文件没有编译而出现的,因为缺少 header ,编译器没有抛出任何相关通知。因此,当所有目标文件编译错误都消失了。添加库的正确方法是像我一样添加路径或使用 Ian Abbot 提到的 -lname。

关于c - 使用 Green Hills 编译器将静态库与 header 链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55165234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com