文件存在,但“没有这样的文件或目录”

时间:2014-01-08 09:46:07

标签: linux file assembly nasm

[root@GoodiesArch ASM]# ls
EXEC*  file.sh*  this.asm
[root@GoodiesArch ASM]# ./EXEC 
bash: ./EXEC: No such file or directory
[root@GoodiesArch ASM]# 

我有一个我编译的汇编文件,它不会将其视为实际文件。不是我用[TAB]自动填充来填写文件名。它会检测到它,但它会说'#34;没有这样的文件或目录"

这是我用来编译它的内容。 我有一台x64位机器,正在运行32位asm代码:

nasm -f elf32 -o tmp.o this.asm
ld -s -lc -L /usr/lib32/ -m elf_i386 -o EXEC tmp.o

它显示ls和tabbing中的文件,但是当我按Enter键时,它什么也没显示。

更新 好的。当我不通过ASM文件调用C函数时,我可以编译它并运行,没有错误,使用它:

nasm -f elf32 -o tmp.o this.asm
ld -s -m elf_i386 -o EXEC tmp.o

1 个答案:

答案 0 :(得分:2)

看起来像是动态链接器问题。尝试将/usr/lib32添加到动态链接路径中执行它:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib32 ./EXEC

如果这不起作用,您可以执行以下操作:

/usr/lib32/ld-linux.so.2 --library-path /usr/lib32 ./EXEC