如何使用i386和x86_64二进制文件的单独编译或链接选项在Mac OS X上编译通用库?

时间:2014-03-04 10:39:48

标签: xcode linker universal-binary luajit linker-flags

我正在为使用Xcode 5.02的Mac OSX编译一个使用luajit库(以静态链接方式)的程序。

luajit的运行时内存机制使得需要在x86_64 build for Mac OSX上添加链接选项“-pagezero_size 10000 -image_base 100000000”,否则它将在初始化时崩溃,因为函数luaL_newstate()将返回NULL。

(有关崩溃发生原因的详细技术信息,请参考此网址,因为它不是此问题帖子的主要主题: http://www.freelists.org/post/luajit/luaL-newstate-fails-on-64bit-Mac-cant-set-linker-flags,2

但是对于i386构建,此链接选项不是必需的,实际上它是无效的,因为图像库超过32位边界。

现在的情况是我可以成功地在单一架构中构建程序。(在x86_64 arch中使用链接选项,在i386 arch中使用w / o链接选项)。但我不知道如何构建通用二进制文件。因为我找不到在通用二进制构建设置中为不同体系结构指定单独链接选项的位置。

任何人都知道如何解决这个问题?

谢谢!

0 个答案:

没有答案