菜鸟教程小白 发表于 2022-12-11 18:45:34

c++ - 在 swift 代码中加载静态库


                                            <p><p>我有一个用 c++ 编写并用 xcode 编译的静态库(.a 文件)。
在我的 C++ 代码中:</p>

<pre><code>extern &#34;C&#34; void startA(const char * szCmdLne){
//bla bla
}

extern &#34;C&#34; void stopA(){
//bla bla
}
</code></pre>

<p>现在我正在用 swift 2(在 xcode 中)编写一个 iOS SDK。我想将库加载到 SDK 中并调用这 2 个函数(startA 和 stopA)。</p>

<p>正确的做法是什么?我尝试了桥接,但它不起作用。</p>

<p>谢谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>按照以下步骤:</p>

<p>1) 在构建阶段链接 xcode 中的静态库 -> 将二进制文件与库链接。</p>

<p>2)在swift项目中添加库头文件。</p>

<p>3)需要创建一个桥接头来调用库Api using (File > New > File),然后选择“Source”并点击“Header File”。</p>

<p>4) 添加
    无效停止A()
    startA(const char * szCmdLne)
在桥接头文件中。</p>

<p>现在,您应该可以从您的 swift 代码中调用这些 API。
检查此以获取更多详细信息:
<a href="http://www.swiftprogrammer.info/swift_call_cpp.html#step2" rel="noreferrer noopener nofollow">http://www.swiftprogrammer.info/swift_call_cpp.html#step2</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于c&#43;&#43; - 在 swift 代码中加载静态库,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41912986/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41912986/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: c&#43;&#43; - 在 swift 代码中加载静态库