答えはかなりシンプルです。
eclipse cdt generatorは、シンボルの解析時にadd_definitions(...)で追加された定義を無視します。代わりに、CMAKE_CXX_COMPILER_ARG1を使用します。 だから、あなたがしなければならないすべては、次のとおりです。
cmakeのGUIからプロジェクトを生成
cmake ../../src -G"Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_VERSION=4.2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_ARG1=-std=c++11
:
- Select source and build directory.
- now BEFORE hitting configure or generate. Press "Add Entry" and add a new entry. Name:CMAKE_CXX_COMPILER_ARG1 Type:STRING Value:-std=c++11
- press Generate and create the Eclipse project
を-DCMAKE_CXX_COMPILER_ARG1 = -std = C++ 11コマンドラインからcmakeの
生成プロジェクトファイルを呼び出す際の追加
初めてCMAKE_CXX_COMPILER_ARG1を設定する前に、configureを実行するか、初めて生成することが重要です。
それです。プロジェクトは正しいシンボルで生成されます。インデクサ、構文強調表示、オートコンプリートは、プロジェクト設定を手作業で変更することなく、意図どおりに動作するはずです。
これは私のためには機能しませんでした。私はcmake 3.5.1とeclipse Keplerを使用しています。私はまだここで2番目のことを示唆しています(https://stackoverflow.com/a/14381512/1971003) - 私はここで紛失しているものは何ですか?ありがとう!! –