友人とクロスプラットフォーム プロジェクトをプログラミングする準備をしています。IDE とツールチェーンとしてそれぞれ Qt と gcc を使用することにしました。彼は Linux で作業しており、私は Windows で作業しています。
ただし、Linux の gcc が Windows の gcc であるとは限りません。より具体的には、Windows 上の Qt は gcc 4.4 で mingw をインストールし、私の友人は gcc 4.7 を使用しています。それで、Windows用の最新のgccバージョンを入手しようとしました。
Qt の現在のバージョンは 5 で、gcc 4.7 を使用して、このサイトからダウンロードしてインストールします: http://www.equation.com/servlet/equation.cmd?fa=fortran
私は C:\QtSDK\mingw にインストールし、Qt インストールから存在するすべてのファイルを単純に上書きしました。近道をすれば、Qt で何も再構成する必要はないと考えました。
ただし、コンパイラ フラグを使用しても、次のようになります。
QMAKE_CXXFLAGS += -std=c++0x (Qt 4.7)
と
CONFIG += c++11 (Qt5)
IDE またはツールチェーンは、単純な範囲ベースの for ループをコンパイルできません。
int main(int argc, char *argv[])
{
int my_array[5] = {1, 2, 3, 4, 5};
for (auto x : my_array)
std::cout << x << std::endl;
return 0;
}
または初期化リスト:
int main(int argc, char *argv[])
{
QVector<int> testsData { 1, 2, 10, 42, 50, 123 };
QStringList options = { QLatin1String("foo"), QLatin1String("bar") };
return 0;
}
ただし、gcc 4.7 の実装の詳細を見ると、これらの機能とそれ以上の機能の両方がすぐに利用できるはずです。
gcc と Qt for Windows を使用しようとした人はいますか? もしそうなら、どうやってそれを機能させましたか?gcc 4.6 または 4.7 を使用したソリューションが欲しいのですが、それがまったく不可能な場合はそれ以下で解決します。
あるいは、C++11 の機能を利用する Linux および Windows 用の開発環境はありますか? それがうまくいくなら、私はQt以外のものでも解決します...
ソースを使用しました: