2017-01-28 5 views
2

私はスタティックライブラリ(.aファイル)をC++で書いてxcodeでコンパイルしました。スワイプコードでスタティックライブラリをロード

extern "C" void startA(const char * szCmdLne){ 
//bla bla 
} 

extern "C" void stopA(){ 
    //bla bla 
} 

今、私は(Xcodeで)SWIFT 2でのiOS SDKを書いている:私はC++コードで 。 SDKにライブラリをロードし、これら2つの関数(startAとstopA)を呼び出すとします。

これを行う正しい方法は何ですか?私はブリッジを試みましたが、うまくいきません。

ありがとうございます!手順以下

答えて

0

フォロー:

1)ビルドフェーズでXcodeで静的ライブラリをリンク - >ライブラリとリンクのバイナリ。

2)迅速なプロジェクトにライブラリヘッダーファイルを追加します。

3)(ファイル>新規>ファイル)を使用してライブラリApiを呼び出すためにブリッジヘッダを作成し、「ソース」を選択して「ヘッダファイル」をクリックする必要があります。

4)はヘッダーファイルをブリッジに ボイドstopA() STARTA(CONST文字* szCmdLne) を加えます。

ここで、これらのAPIを迅速なコードから呼び出すことができます。 詳細を確認: http://www.swiftprogrammer.info/swift_call_cpp.html#step2

+0

ありがとう!私はそれがブリッジファイルなしで動作するように管理し、私は傘のヘッダーで関数を宣言しました。唯一の問題は、これらの関数が公開されているため、このSDKを使用するすべてのユーザーがそれらを表示/呼び出しできることです。どうすればプライベートにすることができますか? – kande

関連する問題