• ベストアンサー

WindowsアプリケーションをMacで作れなくて困っていますて

 ダウンロードした自作アプリケーションにWindowsでつくられた自作アプリケーションのC言語ソースがついていました。そこで、Mac OS Xで同じ物を作ろうと思いソースをコピー&ペーストしビルドして実行をしましたがエラーとなってしまいました。  Windows C言語とMac C言語は何か違う物なのでしょうか?ご回答お願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.4

> 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からコピーしてきても無駄です。

参考URL:
http://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96C%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA
noname#71253
質問者

補足

分かりやすい回答ありがとうございました。 皆さんの回答をみていると元のプログラムのソースから自分で作らないといけないということですか。引き続きご回答お願いします。

その他の回答 (5)

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.6

#4です。 > 元のプログラムのソースから自分で作らないといけないということですか。 > 引き続きご回答お願いします。 と言われましても、それを判断するのに必要な情報が質問者から提供されていないので無理です。 そもそも、ビルドできたのかできなかったのかさえ曖昧なままです。 たとえば、 ・そのダウンロードしたアプリケーションの名前やURL ・「エラーになってしまいました」というそのエラーの内容 あたりを投稿していただければ進展があるかもしれません。

  • pick52
  • ベストアンサー率35% (166/466)
回答No.5

ビルドできたのであれば、基本的にはソース自体には問題がないと いう事だと思います。 windows.hなどのWinAPIやCOMとかATL/WTLなどの機能を使用している 場合はそもそもコンパイルできませんから。 ビルド(コンパイルとリンク)ができたならC/C++標準ライブラリだけで 構築されていたのだと思います。 ただ、標準ライブラリだけで作られていてもバイナリ上はまったく 互換性がないのでバイナリや機械語などの処理部分を持っていると 正常に動作しないと思います。 あとは、OSのシステムコールとかを呼び出している場合も正常に 動作しないことがあると思います。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.3

そもそも、 > エラーとなってしまいました。 どんなエラーが出たを提示していないところに問題がありそうです。 エラーメッセージの全文を正確に載せてください。

noname#71253
質問者

補足

確かに問題がありました。 Xcode Toolsというソフトを使っているのですが、そのソフトは、下の方のバーにエラーが出ているというマーク『×』がでているだけです。ちなみに20個です。 自分で一から作った方がよいのでしょうか・・・。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

いや、でも、 > ビルドして実行をしましたがエラーとなってしまいました。 こう書かれてますので、ビルドはできたけど実行できなかった、 と解釈するのが自然であるような気が…。 実際のところどうなんでしょ? ビルドはできたんですか? >質問者さん

noname#71253
質問者

補足

すみません!説明不足でした! ビルドして実行というのはボタンが二つともいっしょになっているソフトを使っているのでビルドして実行という書き方をしています。ビルドだけのボタンがあり、それを押すとちゃんとできてるみたいです。

  • aigaion
  • ベストアンサー率47% (287/608)
回答No.1

Windows特有の機能を呼び出しているC言語プログラムのソースコードを 他のOSでコンパイルすることはできませんよ。

noname#71253
質問者

補足

aigaionさんの回答をみると、やっぱり自分で作らないといけないということですね。

関連するQ&A