3

MacPorts 経由でインストールされた gcc 4.8 を使用していますが、古い C++11 コードはコンパイルできません。

-std=c++11 フラグなしでコンパイラを使用すると、このテスト コードで問題なく動作します。

#include <cctype>

int main() {
  std::isalnum('c');
  return 0;
}


[bash] g++48 test.cpp 

しかし、Mavericks のアップグレード後、次のコンパイル エラーが発生します。

[bash] g++48 -std=c++11  test.cpp 

Undefined symbols for architecture x86_64:
  "isalnum(int)", referenced from:
      _main in ccvsKeqJ.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

この問題の原因を知っている人はいますか? どんな助けにも感謝します

4

4 に答える 4

5

OSX Mavericks のアップグレードにより、多数の XCode インストール ディレクトリが消去されます。それらを復元するには、XCode コマンドライン ツールを再インストールする必要があります。

xcode-select --install

次に、ダウンロードのプロンプトに同意します。

これが失敗した場合は、ここから手動でインストールを試すことができます: OSX: Xcode Downloads

于 2013-10-29T05:52:44.907 に答える
0

残念ながら、昨日からXcodeコマンドラインツールを再インストールしようとしました xcode-select --install が、もう機能しません

ここに画像の説明を入力

ここに画像の説明を入力

しかし、その後、 https://developer.apple.com/downloads/index.actionから取得できました

残念ながら、コマンドラインツールを再インストールしても解決しませんでした:(

私は一緒に行かないと思います

clang++ -std=c++11 -stdlib=libc++

正式な解決策があるまで。

于 2013-10-30T00:19:15.773 に答える