LLVM每日谈之二十二 llvm-config工具的使用

本文介绍了LLVM的工具llvm-config,它简化了使用LLVM构建应用程序的过程。llvm-config能够提供编译器、链接器标志及所需的LLVM库信息。通过示例和参数说明,阐述了如何在Makefile和命令行中使用llvm-config,强调了正确使用反引号的重要性。
摘要由CSDN通过智能技术生成

作者:史宁宁(snsn1984)

llvm-config作为LLVM的一个工具,是非常有用的,官方文档(http://llvm.org/docs/CommandGuide/llvm-config.html)关于它的介绍如下:

llvm-config makes it easier to build applications that use LLVM. It can print the compiler flags, linker flags and object libraries needed to link against LLVM.

这里介绍的非常清楚,llvm-config使得使用LLVM去构建自己的应用更加的简单。之所以可以更加简单,是因为它可以打印出编译器flags、连接器flags以及需要连接的LLVM库。简单点的说,就是llvm-config可以获取系统中LLVM的所有相关信息,这些信息可以方便的用于构建基于LLVM的项目。只是这么说的话,看起来并不明显,下面我就给出一个实例来。

LLVM_CONFIG = llvm-config
LLVM_CXXFLAGS += $(shell $(LLVM_CONFIG) --cxxflags)
LLVM_LDFLAGS := $(shell $(LLVM_CONFIG) --ldflags)
LLVM_LIBS = $(shell $(LLVM_CONFIG) --libs bitwriter core support)

llvm_model_src = ModuleMaker.cpp


test_model:
	g++ $(llvm_model_src) $(LLVM_CXXFLAGS) $(LLVM_LIBS) $(LLVM_LDFLAGS) -lpthread -ldl -o ModuleMaker
这是一个Makefile。它是一个例子ModuleMaker的编译文件。这个ModuleMaker例子本身是LLVM源码中llvm/examples/ModuleMaker/目录下的一个例子,它演示的如果凭空构建一个LLVM IR的Module。我这里写了这个Makefile以后,可以在已经安装LLVM的系统(Linux)上单独的编译这个例子,而不需要依赖LLVM的源码,也不再需要在LLVM源码中编译这个例子。完整的包含Makefile的ModuleMaker例子的代码:
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值