代码之家  ›  专栏  ›  技术社区  ›  Morpheus

由于permisson错误,C++编译器输出未运行

  •  0
  • Morpheus  · 技术社区  · 8 年前

    我有以下make文件:

    CC=g++
    
    CFLAGS=-c -Wall
    
    1: 
        $(CC) $(CFLAGS) 03_datatypes.cpp -o program
        ./program
    

    正如你所看到的,我正在尝试运行 program 编译后的文件。我收到以下错误:

     make: execvp: ./program: Permission denied
     makefile:7: recipe for target '1' failed
     make: *** [1] Error 127
    

    我以前在另一台计算机上使用过类似的makefiles,但以前从未遇到过这个问题。

    下面有人建议: 我试着 chmod +x program 但我得到了一个不同的错误

     bash: ./program: cannot execute binary file: Exec format error 
    
    2 回复  |  直到 8 年前
        1
  •  2
  •   user2100815 user2100815    8 年前

    您的CFLAGS:

       CFLAGS=-c -Wall
    

    告诉编译器生成。o文件(然后使用-o选项重命名),但不链接它。和o文件不可执行。移除 -c 选项

        2
  •  0
  •   Surojit    8 年前

    看起来您是在linux系统上,并且没有在上设置的执行权限 program 二进制的

    在尝试运行程序之前,请通过以下方式授予其执行权限 chmod +x program .