将.c文件编译为单个LLVM IR并在编译期间链接多个库。
这里有一个gcc的例子:
gcc -c -Wall -g3 -DVERSION=\"1.1.2\" ssl_proxy.c -o ssl_proxy.o
gcc -o ssl_proxy ssl_proxy.o -lssl -lcrypto
现在,我想将ssl_proxy.c
编译为ssl_proxy.ll
,只需使用llvm-gcc -S -emit-llvm
就行不通,因为它不会让我链接-lssl -lcrypto
个库。
通过这个例子,我希望人们可以用llvm-gcc
(不是clang)解释有关编译的更多细节,以便所有访问者都可以从中学习并知道如何将复杂的多个源编译成一个LLVM IR。 / p>
答案 0 :(得分:1)
将源文件编译为LLVM IR不执行链接,因此它不需要任何库 - 它只需要标题。