web-dev-qa-db-ja.com

OSX 10.9でC ++のビルドが機能しない

更新:

この link に示すように、コマンドラインツールを再インストールすることで、最終的に問題を解決しました。ご迷惑おかけして申し訳ありません!

最初の質問

OSX Mavericksにアップグレードしたばかりで、コンパイラーを動作させることができなくなりました。私はvim/sb2でmacportsのgcc48を使用しており、すべてが問題なく動作していました。今、私がインクルードするどのライブラリーも大量のエラーを出します。私はあまり経験がなく、何をすべきか、何を探すべきか分かりません。以前と同じように機能させたい。基本的な「hello world」プログラムをコンパイルするときの言い方は次のとおりです。

In file included from /opt/local/include/gcc48/c++/bits/postypes.h:40:0,
             from /opt/local/include/gcc48/c++/iosfwd:40,
             from /opt/local/include/gcc48/c++/ios:38,
             from /opt/local/include/gcc48/c++/ostream:38,
             from /opt/local/include/gcc48/c++/iostream:39,
             from ceva.cpp:1:
/opt/local/include/gcc48/c++/cwchar:44:19: fatal error: wchar.h: No such file or directory
#include <wchar.h>

何か情報が必要な場合は教えてください。提供します。お待ちいただいてありがとうございます!

16
vladb

[2019年追加-Mojave/Catalina] XCode 10は、コマンドラインツールを使用しても、/usr/includeのヘッダーの配置を削除しました。ヘッダーが必要な場合、Mojaveで利用可能な transitional package をインストールできます。このパッケージはカタリナにはありません。ヘッダーは、適切なリリースのSDK内にあります。

XCode 5/Mavericksは、ヘッダーが配置される場所のデフォルトを変更しました。

以前のバージョンのMac OS X/XCodeでは、ヘッダーは/usr/includeにありました。

古いリリースでgccをビルドすると、その場所からヘッダーが取得され、コードをビルドしようとしたときにヘッダーが検索されます。

問題は、ファイルがそこにないことです。それらは/Applications/Xcode.app/Contents/Developerのどこかにあります。

スペックファイルをいじくり回して、一貫して再び機能させることができますが、最も簡単なことは、gccを再構築することです。

同様に言及したように、xcode-select --installを使用してコマンドラインツールをインストールできます。これにより、/usr/includeのヘッダーを含む開発者ツールが再インストールされます。

オペレーティングシステムをアップグレードすると、環境の変更により他のエラーが発生するため、gccなどを再インストールする傾向があります。これは私が形成した習慣にすぎません。それは最良の習慣ではないかもしれませんが、私は多くの場合、私を苦痛から救いました。

[2017年追加]補足として、command line toolsをインストールすると、ヘッダーも/usr/includeに配置されます。コマンドラインツールをインストールするコマンドはxcode-select --installです。これにより、ヘッダーの場所を手動で指定しなくても、ほとんどのコンパイラを使用できます。

26
Petesh

これは、Mac osx Mavericksで動作させる方法です。

  1. オープンターミナル

  2. タイプ-> xcode-select --install

  3. インストールツールについて尋ねるポップアップウィンドウが表示されます。

  4. インストールツールを選択

  5. インストールが完了するまで待ちます

14
uplearnedu.com

OS X MavericksでXCodeを手動で更新する方法は次のとおりです。

  1. 開発者サイトにアクセス http://developer.Apple.com

  2. 次に、Apple開発者向けのダウンロードに移動し、Mavericks用のコマンドラインツールインストーラーがあります。ここにリンクがあります(ただし、リンクを機能させるには開発者アカウントが必要です) http ://developer.Apple.com/downloads/index.action?q = xcode

10
uplearnedu.com

MacOs Sierra 10.12.4を使用していますが、同じ問題が発生しました。私はそれを使ってそれを解決しました:

/usr/bin/gcc
2
Jialin Zou

私にとっての修正は、古い壊れたgccをアンインストールすることでした:

brew uninstall gcc@5

ビルド出力で/usr/local/Cellar/gcc@5のようなパスに気づきましたが、gcc@8もインストールされており、使用されるはずでした。

0
juhoautio