gpt4 book ai didi

c - gcc静态库编译

转载 作者:行者123 更新时间:2023-11-30 20:38:03 25 4
gpt4 key购买 nike

在使用 gcc -o file.o -c file.c 创建对象后,我使用 ar 命令创建了一个静态库。

现在我尝试使用 gcc 通过类似于此的命令在编译中链接此库

gcc -I /PathInclude -L /PathStaticLib -lm \
-std=c99 -o file file.o -lstatic_library_name

使用 static_library_name 我的意思是该文件已命名

libstatic_library_name.a

由于文件结构非常复杂(因为基本上在编译中我还替换了一些宏定义等)我没有发布所有代码,您对发生了什么有任何想法吗?如果不是,我可以向您提供什么样的信息来帮助我?

PS。 o 文件不多,但内部结构有点复杂,无法用几句话解释清楚,所以...让我知道您需要什么。

如果你需要的话我可以给你make文件内容,并不复杂。

PS。命令是...

gcc -I../CModels -L../CModels/ -std=c99 -o ref_approx_bs3_log2_4_4_1ulp_arch1 
ref_approx_bs3_log2_4_4_1ulp_arch1.o -lm -lmy_float

错误是

ref_approx_bs3_log2_4_4_1ulp_arch1.o: In function `cogen_fp_bs3_log2_4_4_1ulp_arch1':
ref_approx_log2.c:(.text+0x2229): undefined reference to `cast'
ref_approx_log2.c:(.text+0x22d0): undefined reference to `cast'
ref_approx_log2.c:(.text+0x22f7): undefined reference to `cast'
ref_approx_log2.c:(.text+0x232e): undefined reference to `sumFP'
ref_approx_log2.c:(.text+0x2350): undefined reference to `diffFP'
ref_approx_log2.c:(.text+0x2375): undefined reference to `mulFP'
ref_approx_log2.c:(.text+0x239c): undefined reference to `sumFP'
collect2: ld returned 1 exit status

使用

nm my_float.a

输出为

my_float.o:
0000000000000ca8 T _Z11castToFixedyPyyyy
0000000000000a0c T _Z12splitIntFracyPyS_yy
0000000000000324 T _Z28rightShift_and_round2NearestyyPyyy
000000000000005c T _Z3ldzy
0000000000000132 T _Z3mulyyy
000000000000048a T _Z4castyPyyyyy
0000000000000000 T _Z4maxuyy
000000000000002e T _Z4minuyy
00000000000014dc T _Z5mulFPyyPyyy
0000000000000cc2 T _Z5sumFPyyPyyy
000000000000147a T _Z6diffFPyyPyyy
0000000000000300 T _Z9ldzFormatyy
U __gxx_personality_v0

所以我猜库 .a 没问题......

最佳答案

根据 gcc manual ,AFAIR,-L-I路径之间不应有空格。将命令更改为

 .. -I/PathInclude -L/PathStaticLib ...

关于c - gcc静态库编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30709985/

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