我在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扩展,Ableton Live使用的是旧的python版本;但最糟糕的是,python不是作为库加载的,而是在软件中静态链接的。在mac上,这不是问题,我仍然可以加载扩展。在windows上,我不能,因为我必须链接到python25.dll,但在加载时,它会再次尝试初始化解释器,这会给出一个错误,因为Ableton Live不使用dll。我想知道是否有一些希望让它在windows上工作。
发布于 2016-02-09 02:49:10
OS上有DLL,与Windows相反,大多数OS应用程序是静态链接的,更大,但对外部的依赖较少。
https://stackoverflow.com/questions/33661946
复制相似问题