我正在使用 cmake,假设我有一个 .cpp 文件。 在cmake中是否可以先将这个cpp文件编译成汇编代码,然后做一些其他操作,然后从生成的程序集中创建可执行文件?
更新: 所以基本上我想将 Hello.cpp 编译为 Hello.s(稍后对其进行修改,然后创建目标文件)。但是我无法使用该代码生成 asm 文件(它只是创建了一个 Hello.a 静态库):
add_library(Tutorial Hello.cpp)
set_target_properties(Tutorial PROPERTIES COMPILE_FLAGS "-S")
install (TARGETS Tutorial DESTINATION bin)
最佳答案
CMake 总是会为您生成“程序集文件规则”。假设您有:
file(WRITE main.cpp "int main() { return 0; }")
add_executable(MyMain main.cpp)
您可以为目标 main.s
或 main.cpp.s
调用 make
,例如:
> make main.cpp.s
Compiling CXX source to assembly CMakeFiles/MyMain.dir/main.cpp.s
但是如果你想自动化一切,请看我在你的另一个问题上的回答:
关于c++ - cmake生成汇编文件然后编译成可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40329823/