在 OS X 上调试 wine?

在 OS X 上调试 wine?

我使用 homebrew 安装了 wine,现在我一直致力于通过 wine 让 SolidWorks 在 OS X 上运行,并逐一修复错误。

这是我目前遇到的错误:

err:winediag:ODBC_LoadDriverManager failed to open library "libodbc.dylib": dlopen(libodbc.dylib, 265): no suitable image found.

我尝试使用 homebrew 安装 unixodbc,但是却出现此错误:

err:winediag:ODBC_LoadDriverManager failed to open library "libodbc.dylib": dlopen(libodbc.dylib, 265): no suitable image found.  Did find:
 libodbc.dylib: mach-o, but wrong architecture
 /usr/local/lib/libodbc.dylib: mach-o, but wrong architecture

我检查了一下,我有 64 位版本的 libODBC。

$ file /usr/local/lib/libodbc.dylib
/usr/local/lib/libodbc.dylib: Mach-O 64-bit dynamically linked shared library x86_64

有没有办法以 32 位模式安装 ODBC 或从源代码编译它?谢谢!

PS. 我也尝试过通过 mac ports 安装 unixobdc,但是 wine 根本找不到它。

更新:我从 www.unixodbc.org 下载了源代码,并在 32 位模式下进行了编译。我还将 libodbc.dylib 移到了 /usr/local/lib/libodbc.dylib。我还验证了它是 32 位的。

file /usr/local/lib/libodbc.dylib
/usr/local/lib/libodbc.dylib: Mach-O dynamically linked shared library i386

现在的问题是 wine 无法检测到它。

err:winediag:SQLDrivers No ODBC drivers could be found. Check the settings for your libodbc provider.

有什么建议吗?

答案1

也许你可以从源代码编译 UnixODBC x32http://docwiki.embarcadero.com/RADStudio/Rio/en/UnixODBC_(FireDAC)

export CFLAGS=-m32
wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz
tar -zxvf unixODBC-2.3.4.tar.gz
cd unixODBC-2.3.4
./configure --enable-gui=no --enable-drivers=no --enable-stats=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE
make
sudo make install
cd ..

相关内容