You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为32位和64位环境正确构建Winelib DLL?

解决OpenSUSE Tumbleweed下64位Winelib DLL编译问题

正确的64位编译命令

OpenSUSE的Winelib包布局和其他发行版不同,64位所需的归档库(如libkernel32.a、libntdll.a)被放在/usr/lib64/wine/x86_64-windows目录下,而非x86_64-unix。直接指定这个路径即可完成链接:

winegcc -L/usr/lib64/wine/x86_64-windows -shared -o myproject64.dll myproject_main.c myproject.spec

别担心目录里的PE格式文件,winegcc工具本身就能正确处理这些归档文件,生成可被64位Wine进程加载的.dll.so共享对象。

先确认依赖包是否齐全

确保已经安装了完整的Winelib开发套件,避免因缺失组件导致错误:

sudo zypper install wine-devel wine-devel-32bit

这个命令会同步安装32位和64位的所有头文件、库文件及工具链组件。

检查spec文件的兼容性

  • 确保myproject.spec里没有硬编码32位相关的编译选项或路径,比如-m32标记要移除。
  • 如果spec中有LIBRARY或EXPORTS声明,确认没有架构相关的限制,保持64位编译时的通用性。

替代方案:从源码编译Wine(如果官方包问题持续)

如果OpenSUSE官方包的布局始终导致链接问题,可以直接从WineHQ源码编译自定义版本,获得标准的库路径布局:

  1. 先安装编译依赖:
sudo zypper install git autoconf automake bison flex libtool gcc-c++ libX11-devel libXext-devel libXcursor-devel libXi-devel libXxf86vm-devel libXrandr-devel libXinerama-devel libXrender-devel libXcomposite-devel libXdamage-devel libXfixes-devel libX11-xcb-devel libxcb-devel libxcb-keysyms1-devel libxcb-render-util0-devel libxcb-shm0-devel libxcb-xfixes0-devel libxcb-xinerama0-devel libxcb-xkb-devel libxcb-cursor-devel libvulkan-devel libasound2-devel libpulse-devel libdbus-1-devel libudev-devel libfontconfig-devel libfreetype6-devel libgnutls-devel libxml2-devel libjpeg-devel libpng-devel libtiff-devel libgif-devel libncurses-devel libstdc++-devel libcap-devel libcups2-devel libsane-devel libgphoto2-devel libopenal-devel libldap2-devel libgstreamer-1_0-0-devel libgstreamer-plugins-base-1_0-0-devel libusb-1_0-devel libblkid-devel libosmesa6-devel libglvnd-devel
  1. 克隆源码并编译64位Winelib:
git clone https://gitlab.winehq.org/wine/wine.git
cd wine
./configure --enable-winelib --prefix=/usr/local/wine64
make -j$(nproc)
sudo make install
  1. 使用自定义编译的winegcc编译你的DLL:
/usr/local/wine64/bin/winegcc -shared -o myproject64.dll myproject_main.c myproject.spec

这种方式生成的Wine环境会遵循标准路径布局,无需手动指定库目录。

内容的提问来源于stack exchange,提问作者Alexander Leithner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 13:16:18