调试库链接到带有CMake+;msbuild
我有一个CMake文件,它通过以下方式链接两个LIB:调试库链接到带有CMake+;msbuild,cmake,msbuild,Cmake,Msbuild,我有一个CMake文件,它通过以下方式链接两个LIB: target_link_libraries(${PROJECT_NAME} debug ${ANGLE_LIB_DIR}libEGLd.lib ${ANGLE_LIB_DIR}libGLESv2d.lib) target_link_libraries(${PROJECT_NAME} optimized ${ANGLE_LIB_DIR}libEGL.lib ${ANGLE_LIB_DIR}libGLESv2.lib) 当我使用CMake生成
target_link_libraries(${PROJECT_NAME} debug ${ANGLE_LIB_DIR}libEGLd.lib ${ANGLE_LIB_DIR}libGLESv2d.lib)
target_link_libraries(${PROJECT_NAME} optimized ${ANGLE_LIB_DIR}libEGL.lib ${ANGLE_LIB_DIR}libGLESv2.lib)
当我使用CMake生成的MSVS2015解决方案文件运行msbuild时,调试库libGLESv2.lib链接到应用程序的发布版本,因此应用程序崩溃。该应用程序的调试版本链接到libs的调试版本,运行良好
我使用的命令是:
cmake ..\..\examples\src\MyApp\ -DCMAKE_INSTALL_PREFIX=D:\Repos\install -DCMAKE_PREFIX_PATH=C:\Qt\5.8\msvc2015\lib\cmake
msbuild MyApp.sln /property:Configuration=Debug
msbuild MyApp.sln /property:Configuration=Release
在
target_link_libraries
命令中为单个配置(调试|优化)指定库时,需要为每个库指定配置,例如:
target_link_libraries(${PROJECT_NAME} debug ${ANGLE_LIB_DIR}libEGLd.lib debug ${ANGLE_LIB_DIR}libGLESv2d.lib)
target_link_libraries(${PROJECT_NAME} optimized ${ANGLE_LIB_DIR}libEGL.lib optimized ${ANGLE_LIB_DIR}libGLESv2.lib)
您还可以使用以下命令使用CMake启动构建:
cmake --build . --target ALL_BUILD --config Debug
cmake --build . --target ALL_BUILD --config Release
在
target_link_libraries
命令中为单个配置(调试|优化)指定库时,需要为每个库指定配置,例如:
target_link_libraries(${PROJECT_NAME} debug ${ANGLE_LIB_DIR}libEGLd.lib debug ${ANGLE_LIB_DIR}libGLESv2d.lib)
target_link_libraries(${PROJECT_NAME} optimized ${ANGLE_LIB_DIR}libEGL.lib optimized ${ANGLE_LIB_DIR}libGLESv2.lib)
您还可以使用以下命令使用CMake启动构建:
cmake --build . --target ALL_BUILD --config Debug
cmake --build . --target ALL_BUILD --config Release
您需要在每个库前面加上
debug
或optimized
关键字。好!非常感谢你!您需要在每个库前面加上debug
或optimized
关键字。好!非常感谢你!