6

私は Eclipse Juno C++ (ビルド ID: 20120614-1722 ) を持っています。命令 -std=c++11 または -std=c++0x でコンパイラ呼び出し引数を設定しようとしていますが、以下のコードをコンパイルしています。Eclipse Juno (少なくとも Mac の場合) には「ツール設定」がないため、「C/​​C++ ビルド -> 設定 -> ツール設定」に移動できません。私のコンパイラはGCC 4.8.0です

#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int main(void) {
    vector<string> v = {"a","b","c"};
    for(string s: v){
        cout << s << endl;
    }
    return 0;
}

私が得た:

HelloWorld.cpp:16:33: error: could not convert ‘{"a", "b", "c"}’ from ‘&lt;brace-enclosed initializer list>’ to ‘std::vector<std::basic_string<char> >’
HelloWorld.cpp:17:16: error: range-based ‘for’ loops are not allowed in C++98 mode
4

3 に答える 3

5

この回答で説明した手順に従うことをお勧めします: Eclipse CDT C++11/C++0x サポート

1 つの可能性は、オプションがツール チェーンの間違った部分に適用されたことです。

于 2012-07-11T04:37:49.870 に答える
0

まったく同じ問題に直面しました。プロジェクトにカスタム があるかどうかを確認してください "makefile" ( *.mk )。その「makefile」がある場合は、「makefile」に以下を入れてコンパイルしてください。

"LOCAL_CFLAGS := -fexceptions -std=c++0x -std=c++11"

PS: LOCAL_CFLAGS は、"xxx > Miscellaneous" に入れることができるコンパイラ フラグ用です。率直に言って、プロジェクトにカスタムの「makefile」がない場合、それを解決する方法がわかりません。しかし、Eclipse Juno には文字通り、上記の人たちが説明したパスがありません。

于 2013-04-23T04:20:22.840 に答える
-1

ツール設定が表示されない理由は、プロジェクトの作成時に、GNUAutotoolsではなくExecutableを選択する必要があるためです。

于 2012-08-07T01:23:19.960 に答える