【发布时间】:2014-11-26 21:03:28
【问题描述】:
我将 Worklight 用于混合应用程序。为了扩展 iOS 功能,我尝试添加一个静态库。结果我从链接器收到了一个关于符号冲突newLib 与libWorklightStaticLibProject 的错误。
我尝试在项目中包含库之前添加带有重新定义方法名称的头文件:
例如,对于我添加的方法_OBJC_CLASS_$_KeychainItemWrapper
#define _OBJC_CLASS_$_KeychainItemWrapper PREFIX_OBJC_CLASS_$_KeychainItemWrapper
#include "newLib/header.h"
#undef _OBJC_CLASS_$_KeychainItemWrapper
我也尝试过更改 .o 文件的符号,但我无法将已编辑的 .o 文件合并到一个静态库中
部分链接器错误。
...
duplicate symbol _OBJC_CLASS_$_KeychainItemWrapper in:
[project_folder]/iphone/native/Classes/newLib.framework/newLib(KeychainItemWrapper.o)
[project_folder]/iphone/native/WorklightSDK/libWorklightStaticLibProject.a(KeychainItemWrapper.o)
duplicate symbol _OBJC_IVAR_$_KeychainItemWrapper.genericPasswordQuery in:
[project_folder]/iphone/native/Classes/newLib.framework/newLib(KeychainItemWrapper.o)
[project_folder]/iphone/native/WorklightSDK/libWorklightStaticLibProject.a(KeychainItemWrapper.o)
duplicate symbol _OBJC_IVAR_$_KeychainItemWrapper.keychainItemData in:
[project_folder]/iphone/native/Classes/newLib.framework/newLib(KeychainItemWrapper.o)
[project_folder]/iphone/native/WorklightSDK/libWorklightStaticLibProject.a(KeychainItemWrapper.o)
duplicate symbol _OBJC_METACLASS_$_KeychainItemWrapper in:
[project_folder]/iphone/native/Classes/newLib.framework/newLib(KeychainItemWrapper.o)
[project_folder]/iphone/native/WorklightSDK/libWorklightStaticLibProject.a(KeychainItemWrapper.o)
duplicate symbol _OBJC_CLASS_$_Reader in:
[project_folder]/iphone/native/Classes/newLib.framework/newLib(Reader.o)
[project_folder]/iphone/native/WorklightSDK/libWorklightStaticLibProject.a(Reader.o)
...
请帮我解决问题。如何使用与 Worklight 库具有相同依赖项的 3rd 方库?
【问题讨论】:
-
提及您尝试使用的第 3 方库,以及您的 Worklight 版本和内部版本号。
-
我尝试使用库 RtPKCS11ECP - 对蓝牙令牌进行数字签名的加密扩展。 Worklight 的版本是 6.2.0.01.20141120-1827
-
有官方网站可以下载吗?
-
好的,你可以从rutoken.ru/developers/sdk得到它
-
我还有一个有冲突的 .o 文件列表(通过 Xcode 链接器)。 dropbox.com/s/1tx5gel66julzvd/…
标签: c++ ios ibm-mobilefirst static-libraries dependency-management