1

問題

QT Creator で g++48 コンパイラを実装する際に問題が発生しています。このコンパイラは、MacPorts を使用して構築しました。QT Creator は私のコンパイラを無視し、デフォルトで xcode g++42 を使用しているようです。これをオーバーライドするようにコンパイラを適切にセットアップするにはどうすればよいですか?

トラブルシューティング

gcc/g++ を正しくインストールしましたか?それがメインに選択されていますか? 次の手順を実行して、gcc が正しくインストールされ、パスが正しいことを確認しました。

    :~ which gcc:
    /opt/local/bin/g++
    :~ g++ --version:
    g++ (MacPorts gcc48 4.8.1_3) 4.8.1

どのようなシステムを使用していますか? 私のシステム: Mac OSX 10.9 Mavericks。QT Creator 2.8.1 QT 5.1.0 に基づく。


ツールチェーンのセットアップ: QT Creator で、Compilers_Add_GCC に移動し、コンパイラ パスを入力して、カスタム GCC コンパイラを指定しました/opt/local/bin/g++。*.cpp の #include 行のいずれかにマウスを合わせると、パスが正しく表示されます/opt/local/include/gcc48/{headerName}。問題は QT Mkspecs に関連していると思われますが、これが何であるか、または (必要な場合) カスタム gcc インストール用にカスタムのものを作成する方法を本当に理解していません。これは説明できますか?


キットは QT Creator で更新されましたか? キットは、次の指示に従って更新されました: Qt Creator は、別の場所にある別の GCC バージョンを使用します。


g++42 が使用されていると思われるのはなぜですか? これは、ビルド ログ ファイルを調べて得た結果に基づいています。

12:30:19: Running steps for project untitled...
12:30:19: Configuration unchanged, skipping qmake step.
12:30:19: Starting: "/usr/bin/make" 
/Applications/Xcode.app/Contents/Developer/usr/bin/g++ -c -pipe -std=c++11 -g -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -I/Users/raymondvaldes/Qt/5.1.0/clang_64/mkspecs/macx-g++ -I/Users/raymondvaldes/Documents/code/untitled -I. -o main.o /Users/raymondvaldes/Documents/code/untitled/main.cpp
/Users/raymondvaldes/Documents/code/untitled/main.cpp:4:10: fatal error: 'random' file not found
#include <random>
         ^
1 error generated.
make: *** [main.o] Error 1
12:30:20: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project untitled (kit: gcc48)
When executing step 'Make'
12:30:20: Elapsed time: 00:01.

RAYMONDs-MacBook-Air:~ raymondvaldes$ /Applications/Xcode.app/Contents/Developer/usr/bin/g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

最後に、これが私の簡単な作業例です。

#include <iostream>
#include <complex>
#include <cmath>
#include <random>

int main()
{
  std::cout << "Hello World!" << std::endl;
  return 0;
}

そして私のプロフィールファイル。

cache()
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

QMAKE_CXXFLAGS += -std=c++11

SOURCES += main.cpp

ありがとうございました。

4

1 に答える 1

2

最終的にこの問題を解決し、QT Creator で MacPorts GCC48 コンパイラを使用できるようになりました。QT ディレクトリに gcc48 mkspecs フォルダーを作成し、そのフォルダー名を QT Creator カスタム コンパイラ セットアップ画面に入力する必要があると思っていました。「~path~QT/5.1.x/clang_64/mkspecs」内の一般的な「macs-g++」フォルダーからコピーした「macs-g++48」フォルダーを作成しました。qmake.conf を変更する必要がありました。コメントアウトしました

#include(../common/g++-macx.conf)
#include(g++-base.conf)

次の変更を加えながら、内容を quake.conf 内に配置しました。

QMAKE_CC  = gcc-mp-4.8
QMAKE_CXX = g++-mp-4.8
于 2013-10-29T05:46:46.350 に答える