我有一個靜態庫,我正在使用cmake編譯。現在,當我在調試模式下聯編時,我得到了生成的pdb文件,但是當編譯發佈模式時,不會生成pdb文件。以下是cmake中的代碼片段:如何使用cmake編譯靜態庫的發佈版本時獲取pdb文件?
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
set_target_properties(${PROJECT_NAME} PROPERTIES IMPORTED_CONFIGURATIONS "Debug")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_PDB_NAME ${PROJECT_NAME} COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/bin_debug")
elseif("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
set_target_properties(${PROJECT_NAME} PROPERTIES IMPORTED_CONFIGURATIONS "Release")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_PDB_NAME ${PROJECT_NAME} COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/bin_release")
我想要用於調試以及發佈構建的pdb文件。那麼,我怎麼能擁有它?建議是非常必要的。
內部.xxproj我可以看到:<條件的PropertyGroup = 「 '$(配置)| $(平臺)' == '推出| 64'」> C:\ repo \ Release \ minizip.pdb ProgramDataBaseFileName> PropertyGroup>但是隻有Release文件夾被創建並且全部爲空:( –
Learner
)仔細閱讀CMake文檔,看起來好像有一個「目標變量」叫做: VS_GLOBAL_,其中您將替換爲該變量的名稱,因爲它應該在項目文件中。 https://cmake.org/cmake/help/v2.8.8/cmake.html#prop_tgt:VS_GLOBAL_variable你可以嘗試以這種方式定義DebugType = pdbonly。 –