在C++中,編譯動態庫(共享庫)的方法取決于你使用的操作系統和編譯器
創建一個名為 mylib.cpp
的源文件:
#include "mylib.h"
int add(int a, int b) {
return a + b;
}
創建一個名為 mylib.h
的頭文件:
#ifndef MYLIB_H
#define MYLIB_H
int add(int a, int b);
#endif // MYLIB_H
使用以下命令編譯動態庫:
g++ -shared -fPIC -o libmylib.so mylib.cpp
這將生成一個名為 libmylib.so
的共享庫文件。
創建一個名為 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)來管理編譯過程。