【发布时间】:2018-10-17 11:07:54
【问题描述】:
我想从相同的源文件创建两个单独的可执行文件,但链接器参数不同。
通过以上几行,我可以毫无问题地生成一个可执行文件:
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --specs=nano.specs -T libs.ld -T mem.ld -T sections.ld -L\"${CMAKE_CURRENT_SOURCE_DIR}/script\" -Wl,-Map,${MAP_NAME}")
add_executable(${ELF_NAME} ${PRJ1_SOURCE_FILES} ${PRJ1_HEADER_FILES})
target_link_libraries(${ELF_NAME} PRIVATE liba libb libc)
当我在上面的代码末尾添加以下两行时,除了第一个可执行文件之外,我可以很好地生成第二个可执行文件(具有相同的链接器标志):
add_executable(${ELF2_NAME} ${PRJ1_SOURCE_FILES} ${PRJ1_HEADER_FILES})
target_link_libraries(${ELF2_NAME} PRIVATE liba libb libc)
但我的问题是我必须生成具有不同链接器参数的第二个可执行文件(与第一个可执行文件同时)。我不想使用条件语句来生成一个接一个。我的目标是自动化这个过程。
如何做到这一点?
【问题讨论】: