错误:/tmp/SASM/macro.o:没有这样的文件或目录

时间:2015-11-07 08:19:17

标签: gcc ubuntu-14.04 nasm

我一直在使用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

4 个答案:

答案 0 :(得分:0)

我也在Ubuntu 14.04上使用SASM进行NASM组装,并在使用make-file方法安装后遇到了同样的问题。我使用正确的包正确删除并重新安装它:

https://build.opensuse.org/package/binary/home:Dman95/SASM?arch=x86_64&filename=sasm_3.2.0_amd64.deb&repository=xUbuntu_14.04

  1. 检查您是否具有所有要求(右边角)
  2. 下载.deb包
  3. 双击并安装
  4. 现在应该可以了。 (感谢我的朋友告诉我应该做些什么。)

答案 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。另外,您可以在“设置”->“构建”中更改“模式”,以使构建的平台与构建的平台相同。

SASM Options

答案 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