Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
116 views
in Technique[技术] by (71.8m points)

NASM: unable to open include file

I've seen some other questions regarding this, but none of them seem to help. my nasm directory is:

NASM/
  include/
    macros/
      consoleIO.inc
      loops.inc
  test.asm

consoleIO.inc includes loops.inc, but when I include consoleIO.inc into test.asm and assemble it, I get the following error: include/macros/consoleIO.inc:1: fatal: unable to open include file `loops.inc' Not sure if this is relevant, but I'm running this on an Xubuntu VM and i assemble the program like so: nasm -f elf -o test.o test.asm


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This is explained in the manual:

Include files are searched for in the current directory (the directory you're in when you run NASM, as opposed to the location of the NASM executable or the location of the source file), plus any directories specified on the NASM command line using the -i option.

The -i option is documented here.

So you'll want to change your invocation of NASM to something like:

nasm -f elf -i~/NASM/include/macros/ -o test.o test.asm

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...