我一直在使用NASM从事SASM ide。在构建时,此错误会一再发生
构建开始......
警告!构建中出现错误:
gcc:错误:/tmp/SASM/macro.o:没有这样的文件或目录
%include "io.inc"
section .data
msg db 'Hello, world!', 0
section .text
global CMAIN
CMAIN:
mov ebp, esp
PRINT_STRING msg
NEWLINE
xor eax, eax
ret
答案 0 :(得分:0)
我也在Ubuntu 14.04上使用SASM进行NASM组装,并在使用make-file方法安装后遇到了同样的问题。我使用正确的包正确删除并重新安装它:
现在应该可以了。 (感谢我的朋友告诉我应该做些什么。)
答案 1 :(得分:0)
我今天遇到了同样的问题(使用ubuntu 14.04 lts intel 64bits)但我通过ubuntu的logitec添加gcc-multilib解决了这个问题。
(毫无疑问gcc编译 - 并且能够在连接程序nasmhello之前做 - macro.c(或/和其他)生成缺少的.o。)
答案 2 :(得分:0)
问题似乎来自缺少gcc编译器。如果在x64上运行sasm并针对x86进行构建,则需要交叉编译器。如上所述,您可以安装gcc-multilib。另外,您可以在“设置”->“构建”中更改“模式”,以使构建的平台与构建的平台相同。
答案 3 :(得分:0)
正如其他人所提到的,请验证您是否在为正确的体系结构进行编译。您的输出未显示任何与架构有关的消息(即“ x32中不存在指令”),因此可能并非如此。如果您能够正确启动应用程序并达到编译程序的目的,则可能会遇到构建问题。
这些是使用nasm的x64体系结构的示例构建设置。根据您的需要进行更改:
装配选项:
-g -f elf64 $SOURCE$ -l $LSTOUTPUT$ -o $PROGRAM.OBJ$
链接选项:
$PROGRAM.OBJ$ $MACRO.OBJ$ -g -o $PROGRAM$ -no-pie
汇编程序路径:
nasm
链接器路径:
gcc
目标文件名:
program.o