2017-07-28 2 views
0

ビジュアルスタジオ2017は、組み込みのcmake機能をサポートしているため、ソリューションやプロジェクトファイルを使用する必要はありません。VS2017でCMAKEのデバッグシンボルを有効にする

私は実行可能プログラムを構築し、デバッグしようとすると、出力ウィンドウは言った:

Module was built without symbols. 

私は、コードにブレークポイントを設定できませんでした。

message(STATUS ${CMAKE_CXX_FLAGS_DEBUG}) 
/MDd /Zi /Ob0 /Od /RTC1 

どのように私はVS2017.2にデバッグシンボルを追加することができます(cmakeの3.7.2を使用するバージョン):これはcmakeの設定によりデバッグフラグのですか?

EDIT:x86-Debugのための私の設定:

{ 
    "name": "x86-Debug", 
    "generator": "Visual Studio 15 2017", 
    "configurationType": "Debug", 
    "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", 
    "cmakeCommandArgs": "", 
    "buildCommandArgs": "-m -v:minimal", 
    "ctestCommandArgs": "", 
    "variables": [ 
     { 
      "name": "BUILD_SHARED_LIBS", 
      "value": "OFF" 
     } 
    ] 
} 
+0

'/ DEBUG'はリンカーフラグであり、コンパイラフラグではありません。シンボルを有効/無効にするには、 '/ Z'コンパイラフラグ(https://msdn.microsoft.com/en-us/library/958x11bc.aspx)を使用します。 '/ Zi'を追加してください。 – stijn

+0

CMakeはDebug構成を作成しているはずです。 *** cmake 3.7.2 ***私はそれをアップグレードします。現在のバージョンは3.9.0です。 – drescherjm

+0

@drescherjm VS2017.2はビルトイン3.7.2をサポートし、より新しいベータ版2017.3は3.8.0をサポートします。私の出力ウィンドウから、それはデバッグ設定を作成したが、VSがシンボルファイルを生成しなかった理由はわかりません。 – MiP

答えて

-1

右プロジェクトをクリックし、プロパティ - >構成プロパティ - >リンカー - >デバッグ:>デバッグ情報を生成します。

空白であるかどうかを確認してください。 「デバッグ用に最適化(/ DEBUG)」を設定し、プロジェクトを再コンパイルして再度デバッグすることができます。

+0

Visual Studio 2017で統合されたCMakeサポートでは、右クリックして設定プロパティを表示できるプロジェクトファイルはありません。そのような場合でも、生成された.vcxprojファイルのプロパティを変更しても、CMakeスクリプトに根差した問題は解決されません。この回答はそれほど役に立ちません。 – IInspectable

関連する問題