“命令在第一个目标之前开始”makefile中的错误

时间:2013-04-23 09:53:02

标签: makefile

我读了许多与此类似的问题,但我找不到任何好的答案。

CC=gcc
CFLAGS= -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_XSLT=1 -DXMLSEC_NO_XKMS=1 -I/usr/include/libxml2 -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO=\"openssl\" -DUNIX_SOCKETS -DXML_SECURITY -DDEBUG
LDFLAGS= -lcrypto -I/usr/include/libxml2 -lxml2 -I/usr/local/include/xmlsec1 -lxmlsec1 -lprotobuf-c

$(CC) $(CFLAGS) $(LDFLAGS) src/main.c src/file1.c src/file3.pb-c.c -o   fileClient

这是我的make文件。所有三个头文件都在src目录中。 .c文件也位于src目录中。

依赖项库:

  • openssl 0.9.8或以上
  • libxml
  • xmlsec1 1.2.9或更高版本(如果需要生成数字签名)
  • protobuf 2.4.1 for protobuff
  • protobuf-c 0.15 for protobuff,这些是依赖库....

1 个答案:

答案 0 :(得分:1)

Makefile中没有目标。 make假设以下一般结构:

target: depencies
    commands

尝试以下方法:

CC=gcc
CFLAGS= -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_XSLT=1 -DXMLSEC_NO_XKMS=1 -I/usr/include/libxml2 -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO=\"openssl\" -DUNIX_SOCKETS -DXML_SECURITY -DDEBUG
LDFLAGS= -lcrypto -I/usr/include/libxml2 -lxml2 -I/usr/local/include/xmlsec1 -lxmlsec1 -lprotobuf-c


fileClient:
    $(CC) $(CFLAGS) $(LDFLAGS) src/main.c src/file1.c src/file3.pb-c.c -o   fileClient