2014-12-30 211 views
0

我有問題,這個Makefile總是告訴我mknod的「T0」操作不允許mknod的操作不允許

all: tx es_mux demux 
    mknod T0 p 
    mknod T1 p 
    mknod T2 p 
    mknod T3 p 
    mknod T4 p 
    mknod T5 p 
    mknod T6 p 
    mknod T7 p 
    mknod T8 p 
    mknod T9 p 

tx: 
    gcc -Wall tx.c -o tx 

es_mux: 
    gcc -Wall es_mux.c -o es_mux 

demux: 
    gcc -Wall demux.c -o demux 

clean: 
    rm -f tx 
    rm -f demux 
    rm -f es_mux 
    rm -f T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 

我運行的虛擬機上的MBP相似之處。

回答

1

您是否有權限在當前工作目錄上執行此操作? mknod通常意味着現在創建命名管道。 IT也可以創建字符特殊文件或在/ dev目錄中找到的文件。爲什麼你需要這些管 - 如果這是他們應該是什麼? 我看不出爲什麼這些是你的makefile需要的。 gcc不需要它們。

(無論如何,請考慮管道的mkfifo):