我正在使用CMAKE
来构建我的C ++项目。在构建结束时,我想将dlls
复制到一级目录。我使用以下命令来实现:
ADD_CUSTOM_COMMAND(TARGET ${LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_SOURCE_DIR}/win64/dll
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${LIB_TARGET}> ${PROJECT_SOURCE_DIR}/win64/dll/.
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:${LIB_TARGET}> ${PROJECT_SOURCE_DIR}/win64/dll/.
)
然后我尝试将setLocal
复制到dll
目录时得到win64
错误。似乎复制失败,因为win64
目录是read-only
。如何使输出构建目录win64
可写?
谢谢!
问题是当我运行CMAKE来构建我的项目时,DLL正在使用。我关闭了使用DLL的应用程序,它工作正常