gpt4 book ai didi

c - 如何使用makefile链接依赖库

转载 作者:行者123 更新时间:2023-11-30 19:22:27 24 4
gpt4 key购买 nike

依赖库:libxml >= 2.7.6 openssl >= 0.9.8数字签名生成需要额外的库:libXslt >= 1.1.24 libxmlsec1 >= 1.2.9

这些是依赖库。我有项目代码,但运行 makefile 需要依赖库。

我已经下载了这些库并复制到 usr/include然后安装文件夹。但我不知道如何在 makefile 中添加这些依赖库的确切方法...我正在使用 ubuntu 11.04。

#GCC compiler

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 -I/usr/include/protobuf-c-0.15 -L/usr/include/libxslt-1.1.24
LDFLAGS= -lcrypto -I/usr/include/libxml2 -lxml2 -I/usr/include/xmlsec1 -lxmlsec1 -lprotobuf-c
LIBS=-lm

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

clean:
$(RM) fileClient *.o *~


#

最佳答案

不要在 Makefile 中执行此操作,而是在某些 header 中使用类似代码

#if LIXML_VERSION < 20800
#error too old version of libxml need 2.8.0 or newer
#endif

您可能对 autotools(autoconfautomake 等)和 pkg-config 感兴趣

此外,最好通过制作 .deb 包来处理依赖关系管理。 (所以你需要一个像 libxml2-dev 这样的 Ubuntu 软件包)

关于c - 如何使用makefile链接依赖库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16271508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com