gpt4 book ai didi

c++ - 静态库的 undefined reference 和奇怪的内容

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:14 26 4
gpt4 key购买 nike

嘿,我是一个真正的 gcc 新手,如果这是一个愚蠢的问题,请原谅。

我想在 android 中使用 opencv,因此尝试将它编译成一个静态库,在 android ndk 构建过程中使用它来构建一个我打算用于我的 android 应用程序的共享库。 statc 库的构建工作正常,但在构建共享库时,我收到有关 undefined reference 的投诉。由于该文件似乎已正确编译并包含在内,因此我使用 ar -tv 检查并查看以下内容:

---------       0/0         27304 Jun 16 18:15 2010 /  
--------- 0/0 24 Jan 1 01:00 1970 //
rw-r--r-- 501/501 11192 Jun 16 18:13 2010 cxalloc.o/
rw-r--r-- 501/501 289760 Jun 16 18:13 2010 cxarithm.o/
rw-r--r-- 501/501 197368 Jun 16 18:13 2010 cxarray.o/
rw-r--r-- 501/501 335112 Jun 16 18:13 2010 cxcmp.o/
rw-r--r-- 501/501 422872 Jun 16 18:13 2010 cxconvert.o/
rw-r--r-- 501/501 127160 Jun 16 18:13 2010 cxcopy.o/
rw-r--r-- 501/501 191208 Jun 16 18:13 2010 cxdatastructs.o/
rw-r--r-- 501/501 141536 Jun 16 18:13 2010 cxdrawing.o/
rw-r--r-- 501/501 170936 Jun 16 18:13 2010 cxdxt.o/
rw-r--r-- 501/501 29008 Jun 16 18:13 2010 cxerror.o/
rw-r--r-- 501/501 48304 Jun 16 18:13 2010 cximage.o/
rw-r--r-- 501/501 23376 Jun 16 18:13 2010 /0
rw-r--r-- 501/501 61024 Jun 16 18:13 2010 cxlogic.o/
rw-r--r-- 501/501 39520 Jun 16 18:13 2010 cxlut.o/
rw-r--r-- 501/501 122064 Jun 16 18:14 2010 cxmathfuncs.o/
rw-r--r-- 501/501 600368 Jun 16 18:14 2010 cxmatmul.o/
rw-r--r-- 501/501 135824 Jun 16 18:14 2010 cxmatrix.o/
rw-r--r-- 501/501 140464 Jun 16 18:14 2010 cxmean.o/
rw-r--r-- 501/501 339224 Jun 16 18:14 2010 cxmeansdv.o/
rw-r--r-- 501/501 118208 Jun 16 18:14 2010 cxminmaxloc.o/
rw-r--r-- 501/501 497760 Jun 16 18:14 2010 cxnorm.o/
rw-r--r-- 501/501 119712 Jun 16 18:14 2010 cxouttext.o/
rw-r--r-- 501/501 346624 Jun 16 18:14 2010 cxpersistence.o/
rw-r--r-- 501/501 1688 Jun 16 18:14 2010 cxprecomp.o/
rw-r--r-- 501/501 86856 Jun 16 18:14 2010 cxrand.o/
rw-r--r-- 501/501 242768 Jun 16 18:15 2010 cxsumpixels.o/
rw-r--r-- 501/501 82320 Jun 16 18:15 2010 cxsvd.o/
rw-r--r-- 501/501 102024 Jun 16 18:15 2010 cxswitcher.o/
rw-r--r-- 501/501 5968 Jun 16 18:15 2010 cxtables.o/
rw-r--r-- 501/501 43720 Jun 16 18:15 2010 cxutils.o/

有两行我不明白,第二行的日期是 1970 年,另一行的文件名是\0。我也想知道,因为 nm 不返回任何东西。当我尝试 randlib 时,我得到:

ranlib: warning for library: libcxcore.a the table of contents is empty (no object file members in the library define global symbols)  

应该在\0 处出现的文件是定义无法引用的函数之一的文件。

我在 OS X 10.6 和 Ubuntu 10.04 下试过这个。

对此有任何见解或我还能做些什么来找到问题?

最佳答案

也许您用来创建静态库的命令有误?你应该使用“ar -rs”。 “s”选项创建一个索引表。这可能是你的问题?

关于c++ - 静态库的 undefined reference 和奇怪的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3055437/

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