6

我正在尝试将已编译的 .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 的缺乏经验,任何帮助将不胜感激。

4

1 回答 1

4

默认的 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,然后再追加新的。

于 2013-08-20T13:30:26.517 回答