标签: static-libraries

在iPhone中实现静态库

我在此链接后创建了一个静态库.

但是我在使用库时遇到了问题.有关如何在iPhone项目中使用静态库的参考,我按照此链接.

但我仍然在努力解决"如何在任何其他iPhone项目中实现静态库?" 题.

谢谢你们.

iphone xcode objective-c static-libraries

3
推荐指数
1
解决办法
3875
查看次数

Visual Studio 2010库链接顺序

如何在Visual Studio 2010中指定库文件的链接顺序?

我有一个项目链接libexpat和另一个库.这个库(不在我的控制之下)似乎也包括libexpat.问题是'我们'使用不同版本的库(XML_UNICODE vs不).在Visual Studio 2008中,似乎没有问题(可能是巧合),但在Visual Studio 2010中,libexpat的错误实例已链接.我想如果我可以指定这两个库应该链接的顺序,那么我可以绕过这个问题.

c++ static-libraries visual-studio-2010

3
推荐指数
2
解决办法
1万
查看次数

如何解决发送给类的无法识别的选择器?

我的问题类似于这个问题,但主要区别在于我正在使用类方法.一些代码:

OpenFeint的+ private.h

@interface OpenFeint (Private)
// ...
+ (void) createSharedInstance;
Run Code Online (Sandbox Code Playgroud)

OpenFeint的+ private.mm

+ (void) createSharedInstance
{
   //...
}
Run Code Online (Sandbox Code Playgroud)

OpenFeint.mm

+ (void) initializeWithProductKey:(NSString*)productKey 
       andSecret:(NSString*)productSecret 
       andDisplayName:(NSString*)displayName
       andSettings:(NSDictionary*)settings 
       andDelegates:(OFDelegatesContainer*)delegatesContainer
{
    [OpenFeint createSharedInstance];
    // ...
Run Code Online (Sandbox Code Playgroud)

MyApp.mm:

// ...
#import "OpenFeint.h"
// ...
[OpenFeint initializeWithProductKey: OF_PRODUCT_KEY 
        andSecret: OF_PRODUCT_SECRET
        andDisplayName: OF_DISPLAY_NAME
        andSettings: openFeintSettings
        andDelegates: [OFDelegatesContainer containerWithOpenFeintDelegate: self]];
Run Code Online (Sandbox Code Playgroud)

错误是:

2010-07-22 11:30:15.239 MyApp[20210:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[OpenFeint createSharedInstance]: unrecognized selector sent to class 0x1cdb1c'
*** Call stack at first …
Run Code Online (Sandbox Code Playgroud)

iphone static-libraries

3
推荐指数
1
解决办法
6172
查看次数

具有共享依赖关系的多个静态库 - iOS

我正在研究几个iOS项目,这些项目将有很多共享代码,所以我在静态库中收集这些代码.

现在让我们说我有3个静态库我正在使用:

  1. Lib A包含通用实用程序功能
  2. Lib B包含一组类
  3. Lib C包含第二组类

(和A是B和C的依赖关系)

现在,我的最终项目需要利用所有三个库的功能.我知道A可以与B,C和我的最终项目静态链接,但是在那时我会得到一个链接器错误,因为有多个相同类的实现.

应如何处理这种情况?

xcode linker static-libraries ios

3
推荐指数
1
解决办法
1294
查看次数

静态库的大小很大

我借助这个模板构建了通用静态库

问题是我的库libWrapper.a的大小是1.3 MB?:0,而我的源代码有130 kb.

我如何减少静态库的大小?

其他奇怪的事情 -

在此输入图像描述

每个lib都具有相同的大小 - 1.3 MB.我认为通用(胖)库应该有更大的尺寸.

build objective-c static-libraries ios

3
推荐指数
1
解决办法
4895
查看次数

如何将两个windows vc静态库合并为一个

我有一个两个静态库a.libb.lib(C语言),它是使用VC6(Visual Studio 6.0)生成的.

我想将这两个库合并到一个静态库中c.lib.如何在CLI模式下执行此操作?

我已经看到了*nix静态库合并.我想在CLI模式下使用VC6静态库做同样的事情.

c merge static-libraries visual-studio visual-c++

3
推荐指数
1
解决办法
5972
查看次数

在Xcode中构建发布时,是否会剥离胖库

我有一个胖(armv7 + i386)库我现在用于开发.工作正常,但现在我担心Xcode是否会在构建发布时剥离其他架构(i386)和其他配置(例如Debug)?

我不打算调试这个库,因为它非常古老而且稳定.我只想使用它,所以我想我不需要所有的调试符号(?),而且当构建发布时我甚至不需要i386,因为那是模拟器.

我是否需要在Xcode中设置一些东西以便它被剥离或者我最好使用非胖库?如果是这样我该如何控制呢?:)

这个库大约有500KB,所以我不想提供超出我需要的信息.

xcode static-libraries ios

3
推荐指数
1
解决办法
496
查看次数

iOS静态库作为具有自定义构建配置的项目的子项目?

我正在尝试在多个Xcode项目之间共享代码.我已经按照Apple关于在项目中创建静态库子项目的说明:

http://developer.apple.com/library/ios/technotes/iOSStaticLibraries/iOSStaticLibraries.pdf

这很棒!但是,当我使用自己的项目遵循相同的说明时,我发现我的应用程序中的代码无法找到我在静态库中公开的头文件.

这是因为我的项目使用自定义构建配置.我有一个用于Ad Hoc构建,App Store构建等.

例如:当我使用名为"Ad Hoc"的构建配置构建项目时,静态库子项目构建Release配置并将其公共头文件复制到名为"Release"的文件夹中.然后主项目无法构建,抱怨它无法找到我从静态库导入的标头.错误在问题导航器中显示为:词法或预处理程序问题

所以我的问题是:如何将静态库设置为项目的子项目,该项目具有库不具备的构建配置?

iphone xcode static-libraries ios

3
推荐指数
1
解决办法
4333
查看次数

如何禁用更改Unicode或ASCII的函数名称的MFC宏

MFC已经定义了这样的

#ifdef UNICODE
#define DrawText  DrawTextW
#else
#define DrawText  DrawTextA
#endif // !UNICODE
Run Code Online (Sandbox Code Playgroud)

但是我正在使用一个也有DrawText()函数的库,我猜MFC也定义了这个调用的变化,我收到了这个调用的链接器错误,因为很明显这个库没有名称为DrawTextW(...)的函数

如何使库函数在我的MFC应用程序中工作?

c++ unicode mfc static-libraries visual-c++

3
推荐指数
1
解决办法
512
查看次数

静态库公共标头不会复制到Build/Products文件夹

我有两个项目,每个项目构建一个静态库,以及另一个使用两个静态库的项目.

两个静态库中的一个构建正常.另一个没有,原因是它的公共头文件在自定义shell脚本运行之前没有复制到build文件夹.

以下是对所发生情况的演示:

SampleA(工作的那个)

Compile MyClass1.cpp ...
Compile MyClass2.cpp ...
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Create universal binary libSampleA.a ...
Copy SampleA.h ...in /Users/user/....
Copy MyClass1.h ...in /Users/user/....
Copy MyClass2.h ...in /Users/user/....
Run custom shell script 'Prepare Framework'
Stripping libSampleA.a 
--- Build complete
Run Code Online (Sandbox Code Playgroud)

SampleB(不起作用的那个)

Compile OtherClass1.cpp ...
Compile OtherClass2.cpp ...
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Create universal binary libSampleB.a ...
// >>>>> NO HEADER FILES ARE COPIED <<<<<<
Run custom shell script …
Run Code Online (Sandbox Code Playgroud)

xcode archiving static-libraries ios xcode5

3
推荐指数
1
解决办法
5404
查看次数