我正在尝试为iOS(用Windows编写)交叉编译一个基于openCV的项目。然后我尝试将这些交叉编译的 openCV 库用于特定应用程序(称为 testApp)。
我首先能够成功地为 iOS 交叉编译 openCV。然后我使用这些库创建了另一个名为 testLib.a 的库,该库由应用程序 testApp 使用(它也使用了一些 openCV 功能)。
testLib.a 编译成功,但是对于 testApp,我必须将依赖项添加到 testLib.a 和 openCV 库(.a 文件)。当我尝试编译 testApp 时,出现以下错误 -
ld:重复符号 cv::split(cv::Mat const&, cv::Mat*) 在 /Users/suri/Projects/testLib/lib/Debug/libopencv_core.a(convert.o) 和 /Users/suri/Projects /testApp/libs/testLib.a(convert.o) 用于 i386 架构
我可以看到这个错误可能会出现,因为 openCV 库是由 open testLib 和 testApp 添加的。我的问题是我应该尝试重新组织项目还是有其他方法来解决这个问题?
我试图找到 testLib 中实际使用“split”函数的位置,但似乎没有调用它。此外,我检查了 testLib 和 testApp 中的每个 .h,它们都有一个“ifndef”宏。