在Windows上,cmake在
中构建库$ {CMAKE_BINARY_DIR} /<< Libname>> /<<调试或发布>> /Libname.lib
在
上的ubuntu-mate上$ {CMAKE_BINARY_DIR} /Libname.a
有没有办法获得这个补丁?我的用例是这样一个FULL_PATH_TO_LIB 如下:
add_library(${LIB_NAME} STATIC ${SOURCES})
#...
target_link_libraries(${PROJECT_BENCH_NAME}
debug ${FULL_PATH_TO_LIB}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX })
答案 0 :(得分:0)
您可以单独为可执行文件,存档库(.a / .lib)和动态库(.dll / .so)自定义输出目录,然后使用此信息链接到特定文件。 Here你找到了详细的解释。 (您也可以按目标设置输出目录)
例如,在您的情况下,您可以设置CMAKE_ARCHIVE_OUTPUT_DIRECTORY
:
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/)
add_library(${LIB_NAME} STATIC ${SOURCES})
#...
target_link_libraries(${PROJECT_BENCH_NAME}
debug ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX })