菜鸟教程小白 发表于 2022-12-11 18:47:16

c++ - 仅在构建框架时架构 arm64 的 undefined symbol


                                            <p><p>我正在尝试构建链接到第 3 方 SDK(用 C++ 编写)的框架。
为 iPhone 6s 构建它时出现此错误:</p>
<pre><code>Undefined symbols for architecture arm64:
&#34;_deblock_vert_lpf9&#34;, referenced from:
      _deblock_vert in libpostprocess.a(postprocess.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
</code></pre>
<p>但是,当我将这些相同的 SDK 文件复制到另一个应用项目并构建时,它工作正常。
我已经仔细检查了所有build设置,两个项目中的一切都是一样的。
该框架的代码是<a href="https://github.com/Sufi-Al-Hussaini/SwiftDahuaSDK" rel="noreferrer noopener nofollow">here</a> .</p>
<ol>
<li>有没有办法解决这个问题(除了从有效架构中删除 arm64)?</li>
<li>我可以告诉链接器不要使用这个特定的符号吗?</li>
</ol>
<h3>编辑 1</h3>
<p>我不确定这是否相关,但我也看到一条警告:</p>
<p><code>ld:警告:忽略文件/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/lib/libgcc_s.1.tbd,丢失文件/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/lib/libgcc_s.1.tbd(2片)中所需的架构arm64</code></p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>问题在于 SDK 提供的 libpostprocess.a 已过时。
我在网上找到了一个更新版本,它刚刚工作。 :) </p></p>
                                   
                                                <p style="font-size: 20px;">关于c&#43;&#43; - 仅在构建框架时架构 arm64 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41953590/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41953590/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: c&#43;&#43; - 仅在构建框架时架构 arm64 的 undefined symbol