适用于 Mac OS 的静态库
Static library for Mac OS
我为Mac OS编写了一个C++静态库。它适用于使用智能卡运行的应用程序。因此,它使用了PCSC.framework。在编译 mylib 的过程中,没有问题,并且派生了一个静态 lib。我创建了一个命令行工具的应用程序。我将静态库添加到应用程序中。当我从 lib 的一个类创建一个实例并调用该实例的方法时,我为目录x86_64获取了未定义的符号:SCardConnect、SCardEstablishContext 和其他 pcsc 函数
为了解决这些错误,我尝试了以下方法;
我在将架构 32 位英特尔从 64 位更改后重建了静态库。然后我还重建了测试应用程序。但错误继续相似。只是与早期的 arcitecture i386 的未定义符号不同。
我有 PCSC 用于 x86_64 和 i386 的弧形。 libccid 适用于 i386。 我正确运行 PCSCTEST。
请让我知道我该如何解决它。
构建静态库不会链接和解析框架的所有符号。 看看以下类似的问题:
- 在特定项目中使用框架的静态库。
- 在 Xcode 静态库中包含框架?
需要考虑的一些替代方案是:
- 包括 PCSC.framework 作为您的框架依赖项应用程序就像您对库所做的那样。
- 创建框架或动态库而不是静态库。
- 在PCSC.framework上调用dlopen/dlsym。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- #为""定义宏;静态";针对不同的上下文
- cmake如何在fedora工作站中找到boost静态库包
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 将公共但非静态的成员函数与ALGLIB集成
- cmake在我的项目中所需的所有静态库都不成功
- C++从另一个类访问公共静态向量的正确方法是什么
- 基于boost的程序的静态链接——zlib问题
- 在静态库中嵌入类方法
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 如何在C++中获得"静态纯虚拟"功能?
- 私有类型的静态常量成员
- 使用gcc从静态链接的文件中查找可选符号
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 无法在 Mac OS X 上链接静态资源库
- Windows OS上的静态链接
- 适用于 Mac OS 的静态库
- 如何在 MAC OS X 上的 CMAKE 项目中包含 C 静态库
- 方法和ELF OS ABI中的静态局部变量
- 链接到Mac OS X上的静态c++库:不调用库中的全局对象构造函数