C/C++ API 兼容性

                     

贡献者: addis

1. 库中的符号的可见性设置

2. 跨编译器编译库

   例如要在使用 MinGW 编译一个库给 MSVC 使用,除了使用 extern "C" {...},为了避免该库依赖 MinGW 特有的依赖库,应该把它们设置为静态链接。

# Compile with these flags to avoid MinGW dependencies
gcc -shared -o mylib.dll mylib.c \
    -static \                     # Static linking (crucial!)
    -static-libgcc \              # Static libgcc
    -static-libstdc++ \           # Static C++ runtime if needed
    -Wl,--output-def,mylib.def \  # Generate .def file
    -Wl,--out-implib,libmylib.a

                     

© 保留一切权利