我正在尝试构建一个合并了两个静态库的大型静态库。在片刻,我使用'ar‘命令,例如,从'a.a’和'b.a‘中提取对象,然后再次使用'ar’重组这些对象:
$ ar x a.a
$ ar x b.a
$ ar r merged.a *.o
不幸的是,它不能满足我的需要,因为a.a在不同的对象中有相同的名称。'ar‘命令提取重复的对象,并用相同的名称替换已经提取的对象。即使具有相同的名称,这些对象也有不同的符号,所以我得到了未定义的引用,因为一些符号与替换的文件一起遗漏了。
我没有访问原始对象的权限,并且已经尝试了'ar xP‘和'ar xv
我在继承某个父类的所有类上都有一个冗余方法q()。
方法q()总是返回子类的模型。请参见代码段:
class Record1 extends AR
{
public static function q()
{
return self::model(__CLASS__)
}
}
class Record2 extends AR
{
public static function q()
{
return self::model(__CLASS__)
}
}
我计划在父类AR中移动q方法。我正在考虑使用
我有一组iPhone静态库(一个*.a文件),其中我只从其中调用了几个类。我过去曾使用AR (与linux库一起)从静态库中提取对象文件,删除不需要的对象文件并重新存档。
但是,当我尝试使用iPhone编译的静态库时,我会得到以下错误:
ar: CustomiPhoneLib.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
ar: CustomiPhoneLib.a: Inappropriate file type or format
有人知道如何从iphone编译的静态库中提取对象文件吗?这样做可能会减少最终的文件大小。
当执行以下合并(tempchoices是用DECLARE GLOBAL TEMPORARY TABLE tempchoices LIKE CHOICES NOT LOGGED IN importtemp ON COMMIT PRESERVE ROWS创建的临时表)时,我的所有磁盘空间都会被使用,并且我会收到“文件系统是满的”错误。
MERGE into CHOICES ar
USING (SELECT * from session.tempchoices ) ac
ON ar.CHOICE_NAME = ac.CHOICE_NAME AND ar.CHOICE_LIST_NAME =
我正在尝试寻找Mac上的标准C库,我尝试过类似于"/usr/lib/libc.a“或"/usr/lib/libm.a”这样的路径,但是系统上没有这样的文件。你能告诉我在哪里可以找到它吗?
然后我在Linux机器上使用Terminal并运行以下命令:
ar t /usr/lib/libc.a
它返回一个.o文件列表,这些.o文件如下所示:
svc.o
xdr.o
...
这些文件的含义是什么?在哪里可以找到他们?
我想创建自己的静态库。我看过youtube上的Linux教程(我找不到任何mac教程)。教程使用命令行工具ar将.o文件转换为.a文件。我试过这样做: mac上的ar rs library.o,但没有成功。我怎么能在Mac电脑上做到这一点?谢谢。
这是输出:
ar: no archive members specified
usage: ar -d [-TLsv] archive file ...
ar -m [-TLsv] archive file ...
ar -m [-abiTLsv] position archive file ...
ar -p [-TLsv