Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 用gcc-UNIX编译makefile_Linux_Unix_Makefile - Fatal编程技术网

Linux 用gcc-UNIX编译makefile

Linux 用gcc-UNIX编译makefile,linux,unix,makefile,Linux,Unix,Makefile,正在尝试使makefile将所有.c转换为目录中的执行文件。 例如: am.c 2.c s.c 进入 节目 任何东西都可以工作,但它使用cc,但我想使用gcc编译器。 我该怎么做 SRC = $(wildcard *.c) BIN = $(patsubst %.c,%,$(SRC)) all : $(BIN) 在顶部加一行 CC = gcc 谢谢,还有一个问题。您知道如何在其中添加库-L/usr/lib/nptl-lpthread-lsocket-lnsl-lrt?用它编译你必须添加一些

正在尝试使
makefile
将所有.c转换为目录中的执行文件。 例如:

am.c
2.c
s.c
进入

节目

任何东西都可以工作,但它使用
cc
,但我想使用
gcc
编译器。 我该怎么做

SRC = $(wildcard *.c)
BIN = $(patsubst %.c,%,$(SRC))

all : $(BIN)

在顶部加一行

CC = gcc

谢谢,还有一个问题。您知道如何在其中添加库
-L/usr/lib/nptl-lpthread-lsocket-lnsl-lrt
?用它编译你必须添加一些规则才能做到这一点。一个非常蹩脚的方法是指定CC=gcc-L/usr/lib/nptl-lpthread-lsocket-lnsl-lrt,但有人会因为我的建议而解雇我:-)@unxnut:NO!!您是在建议@#$@#$:P,小建议您可以提到
CC:=gcc
,它将覆盖
CC
变量,仅在环境中未设置该变量的情况下。通过发布
CC=gcc make
,可以让
make
使用
gcc
@亚历克斯·格雷:实际上你可以使用
CFLAGS
&
LDFLAGS
变量
CFLAGS
表示编译时间标志&
LDFLAGS
表示链接时间。添加
CFLAGS=-L/usr/lib/nptl
LDFLAGS=-lpthread-lsocket-lnsl-lrt
。如果这个答案帮助你解决了问题,请接受它。谢谢你,噢,另外一个。一个懦夫有一个比我更好的建议。但是,
CFLAGS
旨在通知编译器编译时选项,如
-g
-ansi
。可能您可以使用
LDFLAGS
添加库位置和库。对不起,我的错误!
-L
-L
选项都应该是
LDFLAGS
的一部分(Dammit无法编辑注释,需要删除的文本太多:P)
CC = gcc