在CLion
上运行Linux
,我一直在尝试使.asm文件正常工作。这就是我的测试项目的样子(在100%
上运行Windows/Mac
,只需要在.intel_syntax
文件中添加.asm
)。
安装了NASM
程序集支持插件。
main.c:
#include <stdio.h>
extern long tes(long);
int main() {
printf("%ld", tes(5));
printf("Hello, World!\n");
return 0;
}
tes.asm:
.text:
.global tes
tes:
mov rax, edi
ret
CMakeLists.txt:
cmake_minimum_required(VERSION 3.15)
project(Testt C)
enable_language(C ASM)
set(CMAKE_C_STANDARD 99)
set ( SOURCES
main.c
tes.asm)
add_executable(program ${SOURCES} )
如何配置CLion
以便将tes
用作C
中的方法?我期待tes(x) = x
,但是不知何故,我的项目无法编译:
====================[ Build | program | Debug ]=================================
/snap/clion/99/bin/cmake/linux/bin/cmake --build /home/user/CLionProjects/Testt/cmake-build-debug --target program -- -j 4
make: *** No rule to make target 'program'. Stop.
感谢您的帮助!
答案 0 :(得分:0)
您需要使用
enable_language(ASM_NASM)
不确定CMake规则是否可以识别.asm
扩展名,在这种情况下,您可能必须添加
set_source_files_properties(${ASM_SOURCES} PROPERTIES LANGUAGE ASM_NASM)