分别讲述在Windows及Linux上生成静态库及动态库的过程
时间: 2024-03-17 07:47:07 浏览: 92
在Windows和Linux上生成静态库和动态库的过程有些不同,下面分别介绍:
**在Windows上生成静态库:**
1. 使用Visual Studio打开C/C++项目,右键点击项目名称,选择“属性”。
2. 选择“配置属性” -> “常规”,将“配置类型”设置为“静态库(.lib)”。
3. 在“配置属性” -> “C/C++” -> “常规”中,将“附加包含目录”设置为头文件所在目录。
4. 在“配置属性” -> “Librarian” -> “常规”中,将“附加库目录”设置为库文件输出目录。
5. 在“配置属性” -> “Librarian” -> “输入”中,添加需要生成静态库的源文件。
6. 点击“生成解决方案”,生成静态库文件。
**在Windows上生成动态库:**
1. 使用Visual Studio打开C/C++项目,右键点击项目名称,选择“属性”。
2. 选择“配置属性” -> “常规”,将“配置类型”设置为“动态库(.dll)”。
3. 在“配置属性” -> “C/C++” -> “常规”中,将“附加包含目录”设置为头文件所在目录。
4. 在“配置属性” -> “C/C++” -> “代码生成”中,将“运行库”设置为“多线程调试(/MTd)”或“多线程(/MT)”。
5. 在“配置属性” -> “Librarian” -> “常规”中,将“附加库目录”设置为库文件输出目录。
6. 在“配置属性” -> “Librarian” -> “输入”中,添加需要生成动态库的源文件。
7. 点击“生成解决方案”,生成动态库文件。
**在Linux上生成静态库:**
1. 在命令行中进入源代码所在目录,执行以下命令生成目标文件:
```
gcc -c source.c -o object.o
```
2. 使用ar命令生成静态库文件:
```
ar rcs libmylib.a object.o
```
其中,-r参数表示将目标文件插入到库中,-c参数表示创建新的库文件,-s参数表示在库中添加符号表。
3. 生成的静态库文件名为libmylib.a。
**在Linux上生成动态库:**
1. 在命令行中进入源代码所在目录,执行以下命令生成共享目标文件:
```
gcc -c -fPIC source.c -o object.o
```
其中,-c参数表示只编译不链接,-fPIC参数表示生成位置无关代码。
2. 使用gcc命令生成共享库文件:
```
gcc -shared -fPIC -o libmylib.so object.o
```
其中,-shared参数表示生成共享库,-fPIC参数表示生成位置无关代码,-o参数指定生成的共享库文件名。
3. 生成的动态库文件名为libmylib.so。
需要注意的是,生成静态库和动态库的过程中需要指定库文件输出目录和头文件所在目录,以便后续使用时能够正确链接库文件和头文件。
阅读全文