error: /tmp/SASM/macro.o: No such file or directory
error: /tmp/SASM/macro.o: No such file or directory
我一直在使用 NASM 研究 SASM ide。构建时,此错误不断重复出现
Build started...
Warning! Errors have occurred in the build:
gcc: error: /tmp/SASM/macro.o: No such file or directory
%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
我还在 Ubuntu 14.04 上将 SASM 用于 NASM 程序集,使用生成文件方法安装后遇到了同样的问题。我使用正确的软件包正确删除并重新安装了它:
- 检查您是否满足所有要求(右下角)
- 下载 .deb 包
- 双击并安装
现在它应该可以工作了。
(感谢我的朋友告诉我应该怎么做。)
我今天遇到了同样的问题(使用 ubuntu 14.04 lts intel 64 位)但我通过 ubuntu 的 logitec 添加 gcc-multilib
解决了它。
您可以 运行 此命令 Ubuntu:
sudo apt install gcc-multilib
(毫无疑问,gcc 编译 - 并且能够做到 - macro.c(or/and 其他)在链接程序 nasmhello 之前生成缺少的 macro.o?)
问题似乎是缺少 gcc 编译器。如果您在 x64 上 运行 sasm 并为 x86 构建,则需要交叉编译器。如上所述,您可以安装 gcc-multilib。或者,您可以在“设置”->“构建”中更改 "Mode",以便您正在构建的平台与您正在构建的平台相同。
SASM Options
正如其他人所提到的,确认您正在针对正确的体系结构进行编译。您的输出没有显示任何与体系结构相关的消息(即 "instruction does not exist in 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
我一直在使用 NASM 研究 SASM ide。构建时,此错误不断重复出现
Build started...
Warning! Errors have occurred in the build:
gcc: error: /tmp/SASM/macro.o: No such file or directory
%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
我还在 Ubuntu 14.04 上将 SASM 用于 NASM 程序集,使用生成文件方法安装后遇到了同样的问题。我使用正确的软件包正确删除并重新安装了它:
- 检查您是否满足所有要求(右下角)
- 下载 .deb 包
- 双击并安装
现在它应该可以工作了。 (感谢我的朋友告诉我应该怎么做。)
我今天遇到了同样的问题(使用 ubuntu 14.04 lts intel 64 位)但我通过 ubuntu 的 logitec 添加 gcc-multilib
解决了它。
您可以 运行 此命令 Ubuntu:
sudo apt install gcc-multilib
(毫无疑问,gcc 编译 - 并且能够做到 - macro.c(or/and 其他)在链接程序 nasmhello 之前生成缺少的 macro.o?)
问题似乎是缺少 gcc 编译器。如果您在 x64 上 运行 sasm 并为 x86 构建,则需要交叉编译器。如上所述,您可以安装 gcc-multilib。或者,您可以在“设置”->“构建”中更改 "Mode",以便您正在构建的平台与您正在构建的平台相同。
SASM Options
正如其他人所提到的,确认您正在针对正确的体系结构进行编译。您的输出没有显示任何与体系结构相关的消息(即 "instruction does not exist in 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