Я создаю визуальное студийное решение с использованием cmake. И теперь я хочу сгенерировать файлы pdb для сборки Release. (Почему, потому что я хочу иметь символы в случае, когда пользователь нашел ошибку?)Как сгенерировать файлы pdb для сборки Release с флагов cmake?
Я попытался, установив следующие флаги без успеха:
set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "Build Types" FORCE)
IF(WIN32)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/Release")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set(CMAKE_CXX_FLAGS_RELEASE "/MD /Zi /O2 /Ob1 /D NDEBUG")
set(CMAKE_C_FLAGS_RELEASE "/MD /Zi /O2 /Ob1 /D NDEBUG")
ENDIF(WIN32)
Похоже Cmake игнорирует эти наборы: Заранее спасибо за помощь!
Вы можете уточнить - без успеха? Получаете ли вы ошибку, отсутствуют результаты или просто не работают? –
Просто не работает. Интересно, что строка «set (CMAKE_CONFIGURATION_TYPES $ CMAKE_BUILD_TYPE) CACHE STRING« Типы сборки »FORCE)« перезаписывает флаги –
Я пробовал это в дополнение к '' 'add_executable (out a.cpp b.cpp)' '' и когда я построил конфигурацию Release, был также файл .pdb. И это было отлаживаемо. Не могли бы вы разместить более подробную информацию? И btw не используют '' '' 'CMAKE_BUILD_TYPE'' при генерации для MSVC – onqtam