【发布时间】:2025-12-16 20:05:02
【问题描述】:
我已经在 linux 上编译了 makensis。从这样的 bash shell 执行时效果很好。
makensis /path/to/setup.nsi
我想使用 python 脚本来执行它。我尝试了以下方法:
#using the symlink in /usr/bin
subprocess.call("makensis setup.nsi")
#absolute path to makensis executable
subprocess.call("/usr/share/makensis/makensis setup.nsi")
#Change directory
os.chdir("/usr/share/makensis")
subprocess.call("makensis setup.nsi")
我也尝试将 cwd arg 传递给 subprocess.call。
在所有这些情况下,makensis 都无法找到它的依赖项。它正在查看 /usr/bin/ 并抛出此错误:
Error: opening stub "/usr/bin/Stubs/zlib"
我不确定这是否是我的 python 脚本或 makensis 编译方式的问题。我倾向于认为它是 python 脚本,因为 makensis 在 bash shell 中可以正常工作。任何指针都非常感谢。
编辑: 这是我用来构建 nsis 的 scons 命令:
scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no PREFIX=/usr/share/ APPEND_CCFLAGS=-m32 APPEND_LINKFLAGS=-m32 install-compiler
【问题讨论】:
-
如果您发布用于构建 NSIS 的 scons 命令会有所帮助...
-
只是让您知道,现在可以在 Posix 上交叉编译存根和插件...
-
@Anders 感谢您的提醒。有文档链接吗?
-
可能类似于 'scons XGCC_W32_PREFIX=i686-w64-mingw32-' (forums.winamp.com/showpost.php?p=2985008&postcount=5)