- ベストアンサー
WindowsアプリケーションをMacで作れなくて困っていますて
ダウンロードした自作アプリケーションにWindowsでつくられた自作アプリケーションのC言語ソースがついていました。そこで、Mac OS Xで同じ物を作ろうと思いソースをコピー&ペーストしビルドして実行をしましたがエラーとなってしまいました。 Windows C言語とMac C言語は何か違う物なのでしょうか?ご回答お願いします
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
> Windows C言語とMac C言語は何か違う物なのでしょうか? C言語自体はどちらの環境でも基本的に違わないと思っていいです。 標準Cライブラリ (参考URLを参照) の機能だけを使ってプログラムを書けば、WindowsとMac OS Xとどちらでもビルド・実行できるものを作れます。 しかし、標準Cライブラリの範囲を超えてWindowsに固有の機能を使っているCプログラムであれば、そのままではMac OS Xでビルドすることはできません。 たとえば、Windows用のCプログラムではwindows.hというヘッダファイルをincludeしている場合が多いのですが、このヘッダファイルは標準CライブラリもMac OS Xにもありません。もちろん、ヘッダファイルだけをWindowsからコピーしてきても無駄です。
その他の回答 (5)
- salsberry
- ベストアンサー率69% (495/711)
#4です。 > 元のプログラムのソースから自分で作らないといけないということですか。 > 引き続きご回答お願いします。 と言われましても、それを判断するのに必要な情報が質問者から提供されていないので無理です。 そもそも、ビルドできたのかできなかったのかさえ曖昧なままです。 たとえば、 ・そのダウンロードしたアプリケーションの名前やURL ・「エラーになってしまいました」というそのエラーの内容 あたりを投稿していただければ進展があるかもしれません。
- pick52
- ベストアンサー率35% (166/466)
ビルドできたのであれば、基本的にはソース自体には問題がないと いう事だと思います。 windows.hなどのWinAPIやCOMとかATL/WTLなどの機能を使用している 場合はそもそもコンパイルできませんから。 ビルド(コンパイルとリンク)ができたならC/C++標準ライブラリだけで 構築されていたのだと思います。 ただ、標準ライブラリだけで作られていてもバイナリ上はまったく 互換性がないのでバイナリや機械語などの処理部分を持っていると 正常に動作しないと思います。 あとは、OSのシステムコールとかを呼び出している場合も正常に 動作しないことがあると思います。
- asuncion
- ベストアンサー率33% (2127/6289)
そもそも、 > エラーとなってしまいました。 どんなエラーが出たを提示していないところに問題がありそうです。 エラーメッセージの全文を正確に載せてください。
補足
確かに問題がありました。 Xcode Toolsというソフトを使っているのですが、そのソフトは、下の方のバーにエラーが出ているというマーク『×』がでているだけです。ちなみに20個です。 自分で一から作った方がよいのでしょうか・・・。
- asuncion
- ベストアンサー率33% (2127/6289)
いや、でも、 > ビルドして実行をしましたがエラーとなってしまいました。 こう書かれてますので、ビルドはできたけど実行できなかった、 と解釈するのが自然であるような気が…。 実際のところどうなんでしょ? ビルドはできたんですか? >質問者さん
補足
すみません!説明不足でした! ビルドして実行というのはボタンが二つともいっしょになっているソフトを使っているのでビルドして実行という書き方をしています。ビルドだけのボタンがあり、それを押すとちゃんとできてるみたいです。
- aigaion
- ベストアンサー率47% (287/608)
Windows特有の機能を呼び出しているC言語プログラムのソースコードを 他のOSでコンパイルすることはできませんよ。
補足
aigaionさんの回答をみると、やっぱり自分で作らないといけないということですね。
補足
分かりやすい回答ありがとうございました。 皆さんの回答をみていると元のプログラムのソースから自分で作らないといけないということですか。引き続きご回答お願いします。