我正在尝试将已编译的.res文件与cmake链接,但我似乎无法找到有关如何执行此操作的详细信息.
我最接近的是
SET(RESOURCE_FILE resource.res) file(GLOB src_files "src/*.h" "src/*.cpp" "${RESOURCE_FILE}" ) add_executable(exename ${src_files})
然后通过IDE手动链接.res文件(即在visual studio中删除链接器附加依赖项中的.res文件).这意味着每次更改cmake文件时都必须重置附加依赖项.当然有一种比这更好的方法
原谅我对cmake的经验不足,任何帮助都会受到赞赏.
解决方法
默认的lib扩展名有点粘,但你可以这样做:
# ... ADD_EXECUTABLE( FOO ${FOO_SRCS} ) TARGET_LINK_LIBRARIES( FOO ${FOO_LIBS} ) SET( FOO_LINKFLAGS ${CMAKE_CURRENT_SOURCE_DIR}/foo.res ) SET_TARGET_PROPERTIES( FOO PROPERTIES LINK_FLAGS ${FOO_LINKFLAGS} )
它将作为额外的[链接器]选项(而不是依赖项)显示在MSVC中.希望有所帮助.
如果定义了其他LINK_FLAGS,您可能需要先将它们存储在FOO_LINKFLAGS中,然后添加新的LINK_FLAGS.