我使用 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 ..