使用 Clang 创建 STATIC 和 SHARED 库

Create STATIC and SHARED libraries with Clang

LinuxWindows 下使用 Clang 创建静态库和动态库的最小 commmand line 方法是什么,然后 link它针对可执行文件?

假设项目包含一个main.cpp文件,main函数,一个lib_header.h文件在/include/project_name下,一个lib_source.c or lib_source.cpp在[=19=下]

谢谢

对于静态库和动态库,首先分别编译源文件:

clang -c -o lib_source.o lib_source.c -fPIC

对于Linux上的静态库,将所有.o文件一起归档:

ar r library.a lib_source.o

对于共享库,link 带有 -shared 标志:

clang -shared -o library.so lib_source.o