c++如何编译动态库

   2024-09-30 9660
核心提示:在C++中,编译动态库(共享库)的方法取决于你使用的操作系统和编译器Linux/Unix/macOS 上使用 GCC/G++创建一个名为 mylib.cpp

在C++中,编译动态库(共享库)的方法取决于你使用的操作系统和编译器

Linux/Unix/macOS 上使用 GCC/G++

创建一个名为 mylib.cpp 的源文件:

#include "mylib.h"int add(int a, int b) {    return a + b;}

创建一个名为 mylib.h 的头文件:

#ifndef MYLIB_H#define MYLIB_Hint add(int a, int b);#endif // MYLIB_H

使用以下命令编译动态库:

g++ -shared -fPIC -o libmylib.so mylib.cpp

这将生成一个名为 libmylib.so 的共享库文件。

Windows 上使用 MSVC

创建一个名为 mylib.cpp 的源文件:

#include "mylib.h"__declspec(dllexport) int add(int a, int b) {    return a + b;}

创建一个名为 mylib.h 的头文件:

#ifndef MYLIB_H#define MYLIB_H__declspec(dllimport) int add(int a, int b);#endif // MYLIB_H

使用以下命令编译动态库:

cl /LD mylib.cpp

这将生成一个名为 mylib.dll 的动态链接库文件。

注意:在实际项目中,你可能需要处理更复杂的依赖关系、编译选项和平台特定功能。在这种情况下,建议使用构建系统(如 CMake、Meson 或 Bazel)来管理编译过程。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号