菜鸟教程小白 发表于 2022-12-11 20:36:40

iOS 条件链接静态库


                                            <p><p>我有一个为 armv7 和 i386 编译的胖静态库。在我的 iPhone/iPad 项目中,一切正常,但我只能在 armv7 设备上安装我的应用程序,所以 iPhone 3gs 及更高版本...</p>

<p>有一种方法可以在 armv6 上运行我的项目,因此我可以将它安装在 ipod touch 和旧 iphone 版本上(如果我禁用 armv7 库的使用)。</p>

<p>我试试这个:</p>

<pre><code>#ifdef _ARM_ARCH_7
... //include and use of armv7 library
#else
... //not include armv7 library
#endif
</code></pre>

<p>但是当我编译我的项目时出现链接错误...</p>

<p>命令/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang++ 失败,退出代码为 1</p>

<p>所以有一种方法可以在所有类型的设备上运行我的应用程序,但在为 armv7 编译时链接特定库???</p>

<p>感谢您的帮助!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您需要弱链接该库。打开build设置并找到其他链接器标志。您需要添加两个条目,第一个是“-weak_library”,第二个是库文件的路径(您可能需要搜索传递给链接器的内容以找到这是什么)。</p>

<p>它们需要按这个顺序排列,因为这个列表会按照它们出现的顺序变成链接器的参数。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 条件链接静态库,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8298076/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8298076/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 条件链接静态库