溫馨提示×

c++如何編譯動態庫

c++
小億
124
2024-09-05 10:04:57
欄目: 編程語言

在C++中,編譯動態庫(共享庫)的方法取決于你使用的操作系統和編譯器

  1. 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_H

int add(int a, int b);

#endif // MYLIB_H

使用以下命令編譯動態庫:

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

這將生成一個名為 libmylib.so 的共享庫文件。

  1. 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)來管理編譯過程。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女