【发布时间】:2015-03-30 06:23:44
【问题描述】:
我有一个汇编文件,我想一次编译。但是,以下代码失败:
enable_language(ASM_NASM)
set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -f bin")
add_executable(test test.s)
CMake 首次运行:nasm -f bin -o test.s.o test.s
然后:nasm -f bin -o test test.s.o
最后一步失败,因为 test.s.o 已经是一个二进制文件。
我的问题是:如何禁用第一个编译步骤?
【问题讨论】:
-
不清楚你想做什么,leitimmel。禁用第一次编译?但这就是有效的!
-f bin是一种合法的输出格式,但在包含 CMake 的环境中,它似乎不太可能是您想要的。 (更有可能是-f elf32或-f elf64?) -
第二步也是如此。问题是它运行命令两次,我想改变它。我认为禁用第一个可能会更好,因为它的结果名称错误(
.s.o),但如果这不可能,第二个也可以。输出格式是我正在编写引导加载程序时使用的。