我有一个要在一次运行中进行编译的汇编文件。但是,以下代码失败:
enable_language(ASM_NASM)
set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -f bin")
add_executable(test test.s)
Run Code Online (Sandbox Code Playgroud)
CMake首先运行:nasm -f bin -o test.s.o test.s
然后:nasm -f bin -o test test.s.o
最后一步失败,因为test.so已经是一个二进制文件。
我的问题是:如何禁用第一步编译?
小智 6
nasm模块中的cmake似乎有一个错误。Cmake调用nasm进行链接,这显然是错误的(这就是为什么您看到两次对nasm的调用的原因)。要设置修补程序
set(CMAKE_ASM_NASM_LINK_EXECUTABLE "ld <FLAGS> <CMAKE_ASM_NASM_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |