我在windows和mac上构建了相同的库(下面的示例来自rfoo),而mac版本只有系统依赖性
$ otool -L marsh.so
marsh.so:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
在Windows上它取决于python的dll
>dumpbin /dependents marsh.pyd
Microsoft (R) COFF/PE Dumper Version 12.00.31101.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file marsh.pyd
File Type: DLL
Image has the following dependencies:
python25.dll
MSVCR120.dll
KERNEL32.dll
我想知道它是否是一个实际的选择,并不是真的是由于Windows,或者是否有特定于Windows的东西需要这个。
上下文:我使用它从Ableton Live内部的嵌入式解释器中加载python扩展,它使用旧的python版本;但最糟糕的是,python没有作为库加载,它在软件内部静态链接。在mac上,它不是问题,我仍然可以加载扩展。在Windows上,我不能,因为我必须链接到python25.dll,但是在加载时它会尝试再次初始化解释器,这会产生错误,因为Ableton Live不使用dll。我想知道是否有希望让它在Windows上运行。
答案 0 :(得分:-1)
OS X上有DLL而不是Windows,大多数OS X应用程序是静态链接的,更大但外部依赖性更小。