Xcode 4 での c コードファイルのコンパイル

MacOSX 10.7.5 を使っています。Xcode でソースファイルを再コンパイルしようとしています。が、Xcode の使い方がハッキリしません。それで 1 つのプロジェクトで 1 ファイルにソースコードとヘッダの連接ファイルをカット&ペーストして動かそう(コンパイルしてみよう)と思います。ファイルが巨大で、必須部分だけでも最大 7,000~8,000行となり、それが 7 ファイルもあるため、重労働ですが遣ってみる事にします。

その他に簡便な方法があれば、ご教示下さい。お願いします。

iMac, Mac OS X v10.7.2 Lion

投稿日 2013/04/07 04:24

返信
返信: 12

2013/04/07 05:22 和行103 への返信

現在はターミナルから vi でソースを作り、Unix の通常の方法で make してます。が、7サーバの内一部しか正常動作しないのです。Xcode で試したら動くのかと目論んでいます。クライアントプログラムも7個あるし、どうなるか、。ですがね。

2013/04/07 17:18 和行103 への返信

Xcode で使用しているコンパイラは、ターミナルから利用もできるコンパイラと同じなのでしょうか。それなら改めて Xcode でソースを作り直す必要は無く、結果は同じと思われます。現在も c コンパイラしか利用していないのですが、c コンパイラは cc だけですか。gcc などもあり機能、利用される参照するライブラリが異なるなんて事は無いのでしょうか。

ターミナルから利用できる c コンパイラをご教示されたいです。

2013/04/07 17:52 和行103 への返信

ホームページにて調べた所、AppCleaner で Xcode をアンインストールする方法が書いてありました。試したらアンインストールはできたのですが、Xcode のアンインストール後に看ると Xcode の古いバージョンの所在が利用できません。困りました。Xcode 4.4 位の古いバージョンは何処から入手したら良いのでしょうか。

2013/04/07 18:31 和行103 への返信

結局 Xcode 4.6 に戻しました。起動の手順に変更が少しでましたが、。結果は同じ、アンインストールしてもインストールしても変化無しです。

アップルさんは実行できるプログラムに制限を設けているのだろうと思い込む事にします。これ以上の開発は望まないですからね。

2013/04/07 18:47 和行103 への返信

makeでコンパイルしていたのであればそのコード用をコンパイルするのに必要なライブラリオプション等が書いてあるでしょうからxcodeからコンパイルするのはめんどくさいのではないかと思います.

makeしたときのエラーを確認して,原因を突き止めるのがいいのではないかと思います.

xcodeのCコンパイラがあたらしすぎると言うのならfinkやmacportから好みのバージョンのgccを入れてコンパイルすればよろしいのではないでしょうか.


ところでxcodeをインストールした後コマンドラインツールはインストールしてますか?

xcode 4.4も4.6もllvm-gccである事には変わりないのでコンパイルに失敗するのは珍しい気がします.

2013/04/07 23:03 和行103 への返信

状況が変わらない,とか無駄とか言われてもこちらには和行103さんの状況は全く伝わりません.

そもそもどんなエラーが出ているのですか?


コンパイルが成功しているのならいったい何が問題なのですか?

てっきりコンパイルできないのかと思いました。

とにかくエラーを見てみたいところです.


macportsにはxcodeなんてportはありませんが,何をしたのか具体的に教えていただけませんか.

appleのcコンパイラはLLVM-GCCですからどうせなら正式なGNUのgccを入れた方がいいのでは無いでしょうか?



ちなみにxcodeだろうがターミナルからだろうがコンパイラは同じです.しかしデフォルトのライブラリオプション等が違うでしょうかコンパイル結果が同じとは限りません.そこは自分で必要なオプションを指定する必要があります.


最初の質問に関して言えば、カット&コピーなんてしなくてもソースファイルや関連ファイルをプロジェクトにドラッグ&ドロップして追加できます.

2013/04/08 02:37 taketake への返信

「macportsにはxcodeなんてportはありませんが,何をしたのか」については、

macport でしたっけ、そこのアドレスをgoogleで当たりを付けて検索して行っただけです。


コンパイルエラーは全く出力されません。実行時のエラーメッセージもでません。自作のトレースダンプの出力を看ると、サーバ側は accept で待っている。クライアント側は connect 発行で接続できない。といった状況です。実行直後に ipcs で状況をみると常にセマフォ(ID=65536)の取得が目につきます。それ以上は小生には解りません。


xcode とターミナルでコマンド cc の呼び出す実行形態モジュールが同一なら、xcode で作成し直しても変化は無い筈ですから、ここで作業は中断となります。


ドラッグ&ドロップについては、そうなのですね。でも、上記の同一モジュールが動くとの事ですから、xcode への移行は実施しない事にします。


残りは MacOSX 用の gcc を入手する方法ですが、これから調べても看ます。

2013/04/08 17:31 和行103 への返信

コンパイルできていて,でも正常に動作していないというのなら和行103さんのコードにバグがあるというだけであって,xcodeやcコンパイラに問題がある訳ではないと思います.

コードのバグを探して修正するしか無いと思います.

-O0や-m32等のオプションをつけてコンパイルする事も試していらっしゃるとは思いますが,行っていないようであればお試しになってはいかがでしょうか.


gccの方が信頼性があるかという質問ですが,GNU Cの方が多くの人に使用されていて,GNU Cでのコンパイルを前提としたソースコードが多いので,コンパイルが通る可能性が高いということです.appleのLLVM-GCCとではオプションも違いますし.


makefileの書き換えが面倒くさいという事ですが,根本的な解決はコードのバグ取りですから手間でしたら書き換える必要は無いと思います.

動く様になるといいですね.

がんばってください.

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Xcode 4 での c コードファイルのコンパイル

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。