2015-02-12 127 views
0

我有以下文件進行編譯:編譯頭文件

cc -g -c -o add_clnt.o add_clnt.c 
cc -g -c -o add_client.o add_client.c initfunction.c 
cc -g -c -o add_xdr.o add_xdr.c 
cc -g -o add_client add_clnt.o add_client.o add_xdr.o -lnsl 
cc -g -c -o add_svc.o add_svc.c 
cc -g -c -o add_server.o add_server.c 
cc -g -o add_server add_svc.o add_server.o add_xdr.o -lnsl 

但這是不可能的,因爲我得到以下錯誤:

cc -g -c -o add_clnt.o add_clnt.c 
cc -g -c -o add_client.o add_client.c initfunction.c 
cc: fatal error: cannot specify -o with -c, -S or -E with multiple files 
compilation terminated. 
make: *** [new] Fehler 1 

initfunction.c與add_client.c通過連接一個initfunction.h,所以它提供了額外的功能。

有人可以告訴我如何編譯?

格魯斯,安德烈

+0

是不是所有連接到一起的文件都連接在一起?標題文件和源文件實際上不以這種方式連接。 – 2015-02-12 08:54:43

回答

0

更改此:

cc -g -c -o add_client.o add_client.c initfunction.c 

cc -g -c -o add_client.o add_client.c 
cc -g -c -o initfunction.o initfunction.c 

然後加入initfunction.o對象鏈接列表。

+0

仍然得到錯誤「cc:致命錯誤:無法指定-o與-c,-S或-E與多個文件」 – Andre 2015-02-12 09:01:17

+0

@Andre編輯,我做了複製/粘貼錯誤 – ouah 2015-02-12 09:02:36

+0

是的,這是工作,謝謝。 – Andre 2015-02-12 09:09:32