私は、Objective-CアプリケーションをC++ライブラリにリンクする方法についてたくさんの情報を見てきましたが、逆もできますか?C++ LinuxターゲットアプリケーションをObjective-C静的ライブラリにリンクできますか?
私のパートナーと私は完全にObjective-Cを使ってiPhoneアプリケーションを開発しています。プロジェクトの途中で、新しい機能を追加することにしました。この機能はプッシュ通知を必要とするため、Linuxボックスで実行されるサーバーサイドアプリケーションを記述する必要があります。このサーバーアプリケーションは、Objective-Cで書かれたコードのほとんど(実際には)にアクセスする必要があります。 2つの選択肢があると思います.C/C++ですべてを書き直すか、LinuxでObjective-Cコードを再コンパイルします。書き換えには時間がかかりすぎるので、2番目のルートを取りたいと思います。
私はGCCとGNUstepを使って、Linuxサーバアプリケーションに必要なObjective-Cクラスを静的ライブラリにコンパイルしました。実際のサーバーアプリケーションをC++で記述したいのですが、Objective-Cライブラリにそのアプリケーションをリンクする必要があります。それはできますか?どうやって?
もしそうでなければ、誰も私にこのことについてどうやって行くか考えてもらえますか?
私はあなたが基本的に '.m'ファイルに呼び出しを入れ、そこに定義したC関数を呼び出す必要があると思いますか? –
@ MichaelKrelin-hacker多分あなたは '.mm'を意味していましたか?いずれにしても、サーバーサイドのLinuxアプリケーション用のすべてのソースファイルはGCCのObjective-Cフロントエンドでコンパイルする必要がありますか?私のファイル 'something.cpp'の名前をObjective-Cライブラリ(' -lMyObjCLib')にリンクできませんか? –
'.m'はすべきです。そして、いいえ、 '.c'や' .cc'(または '.cpp')ファイルから' .m'ファイルで定義されたプレーンな 'c'関数を呼び出すことができると思います。これは '.m 'でなければならないインターフェース部分です。 –