[解決済み】Windows版Objective-C
質問
WindowsプラットフォームでObjective-Cを書くには、どのような方法があるでしょうか?
Cygwinとgcc?どうにかしてVisual Studioに統合する方法はないでしょうか?
また、Windows SDKをこのようなものにリンクして使用する方法について、何か提案はありますか?アセンブリを書き、Windows DLLにリンクすることで、これらの呼び出しにアクセスできることは知っていますが、ググって断片的な指示を得なければ、どのようにすればいいのかわかりません。
このようなことを行う、または説明するための良いオンラインまたは書籍リソースをご存知の方はいらっしゃいませんか?
解決方法は?
前の2つの答えを発展させると、もしあなたがObjective-Cだけで、Cocoaフレームワークのどれも必要ないのなら、gccはどのプラットフォームでも動きます。Cygwinを通して使うこともできますし、MinGWを入手することもできます。しかし、もしあなたがCocoaフレームワーク、あるいは少なくともそれらの合理的なサブセットが欲しいのであれば、GNUStepとCocotronがあなたの最善の選択です。
CocotronはCoreGraphicsやCoreDataのようなGNUStepにはないものをたくさん実装していますが、特定のフレームワークで彼らの実装がどれだけ完全であるかは保証できません。彼らの目的はCocotronをOS Xの最新版に対応させることで、どんなOS XのプログラムでもWindows上で実行できるようにすることです。GNUStepは通常gccの最新版を使うので、Objective-C++のサポートとObjective-C 2.0の機能の多くも追加しています。
GNUStepでそれらの機能をテストしたことはありませんが、十分に新しいバージョンのgccを使用していれば、それらを使用することができるかもしれません。数年前、私はGNUStepでObjective-C++を使うことができませんでした。しかし、GNUStepは、ほぼすべてのプラットフォームからコンパイルすることができます。Cocotronは非常にmac中心のプロジェクトです。他のプラットフォームでもコンパイルは可能でしょうが、XCodeのプロジェクトファイルが付属しており、makefileは付属していませんので、OS Xでしかそのフレームワークをコンパイルできません。基本的に、CocotronのためにWindowsの開発環境をセットアップすることは可能でしょうが、GNUStepのためにセットアップするほど簡単ではありませんし、自分自身でやることになります。
ちなみに、ココトロンはMITライセンスで、GNUStepはLGPLライセンスです。
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] デバイス用にコンパイルするとApple Mach-Oのリンカーエラーが発生する。
-
[解決済み] Windowsにpipをインストールするにはどうしたらいいですか?
-
[解決済み] Windowsのコマンドラインに'which'に相当するものはありますか?
-
[解決済み] Windows での Git リポジトリのディレクトリを無視する
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Git for Windows でファイル名が長すぎる
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] NSTaggedPointerStringをNSStringに変換する。
-
[解決済み] iPhoneでObjective-Cはガベージコレクタを搭載しているのか?
-
[解決済み] インスタンスに送信されたセレクタが認識されない」を解決するには?
-
[解決済み] クラスメソッドとインスタンスメソッドの違いは何ですか?
-
[解決済み] objectForKeyとvalueForKeyの違い?
-
[解決済み】NSArrayをアルファベット順に並べるには?
-
[解決済み】isEqual:とハッシュをオーバーライドするためのベストプラクティス
-
[解決済み】iOS7でステータスバーを隠すことができない。
-
[解決済み】ストーリーボードで、複数のコントローラで使用するためのカスタムセルを作成する方法は?
-
[解決済み】Cocoaアプリからターミナルコマンドを実行する