cmake, mingw32-make编译动态库

一个本地的库需要使用cmake编译后再利用make编译成dll文件。

cmake的使用在windows系统下安装make编译功能_windows安装make-CSDN博客

MinGW-w64下载地址:https://sourceforge.net/projects/mingw-w64/files/

i686纯32位版供32位win系统使用    x86_64是64位系统用的版本    seh结尾是纯64位编译    sjlj结尾是32 64两种编译,需加-m32或-m64参数    posix通常用于跨平台,比win32兼容性好一些。

由于我在运行时出现报错OSError: [WinError 193] %1 不是有效的 Win32 应用程序。-CSDN博客

发现是GCC版本错误,应当使用64位版本。报错函数:

def _load_c_functions(ref_point):
    # filename = "lib" + ref_point + ".so" # |note|
    filename = "lib" + ref_point + ".dll"
    curr_dir, _ = os.path.split(os.path.realpath(__file__))
    SHARED_LIB_PATH = os.path.join(curr_dir, "..", "c_functions", "build")
    func = ctypes.CDLL(os.path.join(SHARED_LIB_PATH, filename))

注意这里.so是Lunix的共享库/动态库,Shared object,类似Windows的.dll或者mac的.dylib,用的时候只要用对应的后缀就可以了、

虚拟python环境可以用python-venv,也可以用更熟悉的conda环境,都一样。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值