Извините за мой плохой английский язык.
Я пытаюсь скомпилировать исправленное вино chrisbmrs для поддержки собственного D3D9: https://github.com/chrisbmr/wine/tree/d3dadapter9-wip. Я попытался следовать советам из файла README, и я также пытался скомпилировать и./tools/wineinstall и./настраивать, но я постоянно получаю ошибки:
make[1]: Entering directory `/home/wine-d3dadapter9-wip/dlls/d3d9'
../../tools/winegcc/winegcc -B../../tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared ./d3d9.spec buffer.o d3d9_main.o d3dadapter9.o device.o directx.o query.o shader.o stateblock.o surface.o swapchain.o texture.o vertexdeclaration.o volume.o version.res -o d3d9.dll.so -ldxguid -luuid -ladvapi32 -lgdi32 -luser32 -lwined3d ../../libs/port/libwine_port.a
d3d9_main.o: In function `DllMain':
/home/wine-d3dadapter9-wip/dlls/d3d9/d3d9_main.c:159: undefined reference to `d3dadapter9_destroy'
/home/wine-d3dadapter9-wip/dlls/d3d9/d3d9_main.c:154: undefined reference to `d3dadapter9_init'
collect2: error: ld returned 1 exit status
winegcc: gcc failed
make[1]: *** [d3d9.dll.so] Error 2
make[1]: Leaving directory `/home/wine-d3dadapter9-wip/dlls/d3d9'
make: *** [dlls/d3d9] Error 2
Compilation failed, aborting install.
или
configure: libOSMesa development files not found (or too old), OpenGL rendering in bitmaps won't be supported.
configure: libd3dadapter9 development files not found. Native Direct3D9 won't be supported.
configure: libhal development files not found, no legacy dynamic device support.
configure: libldap (OpenLDAP) development files not found, LDAP won't be supported.
Укажите на меня в правильном направлении. Я ценю любую справку.Спасибо.
ОС: Ubuntu13.04, GPU: Nvidia 9200 м, драйвер: nvidia xorg 313.
Попробуя сам сейчас, я позволю себе узнать, как это происходит.
Нашел это в архивах: http://lists.freedesktop.org/archives/mesa-dev/2013-July/041900.html
И это привело меня к Меза d3dadapter, которая должна включать отсутствующий libd3dadapter9: https://github.com/chrisbmr/Mesa-3D/tree/gallium-nine
И есть также ссылка на Wine у вас уже есть там.
Попробуйте установить все зависимости сборки Wine:
sudo apt-get build-dep wine
Если это все еще не удовлетворяет всем зависимостям, вы можете попробовать подход, который я опубликовал в / usr / bin / ld: not find -lpulse
Я использовал этот трюк,
Надеюсь, вам это тоже поможет, ребята,
Перейдите в папку Wine и отредактируйте файл конфигурации: откройте его в текстовом редакторе.
Заменить строку:
LIBS="-lOSMesa $X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS $LIBS"
на
LIBS="-lOSMesa -lGLU -lGL $X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS $LIBS"
и добавить:
fi
if test "x$ac_cv_lib_soname_OSMesa" = "x"; then :
в:
fi
ac_cv_lib_soname_OSMesa=libOSMesa.so
if test "x$ac_cv_lib_soname_OSMesa" = "x"; then :
, затем сохранить и попробуйте ./configure again
.
Я не использую Ubuntu (я использую Fedora 19), но это может все еще быть полезно. Я следовал за руководством, обеспеченным в этой ссылке. Однако некоторые шаги оставлены позади. Я попытаюсь предоставить больше полных инструкций:
Проверьте следующее:
Выполнение glxinfo | grep "OpenGL renderer string"
должен возвратить что-то содержащее Gallium
.
Этот ответ предполагает, что Вы уже установили (обычное) Вино, это может быть сделано путем выполнения sudo apt-get install wine
.
Выполнение wine --version
должен возвратить версию wine-1.6-rcX
или более новый.
Установите все зависимости сборки для:
Мезаструктура, для создания галлия девять:
sudo apt-get build-dep mesa
Вино, для создания вина-d3dadapter9:
sudo apt-get build-dep wine
Во-первых, давайте создадим и установим галлий девять d3dadapter9:
Загрузите http://github.com/chrisbmr/Mesa-3D/archive/gallium-nine.zip и распакуйте Mesa-3D-gallium-nine
папка где-нибудь можно найти его назад, например, в корневом каталоге.
Откройте терминал в распакованном Mesa-3D-gallium-nine
папка и выполненный к следующим командам:
CFLAGS="-m32" CXXFLAGS="-m32" ./autogen.sh --prefix=/usr \
--with-gallium-drivers=nouveau,r600,swrast --enable-nine \
--with-gallium-driver-dir="`pwd`/src/gallium/targets/pipe-loader/.libs" \
--enable-debug --enable-texture-float --with-dri-drivers= --disable-dri \
--disable-opengl --disable-egl --disable-vdpau --disable-xvmc --disable-gbm \
--disable-gallium-llvm --enable-32bit --disable-64bit
make
sudo ln -s "\`pwd\`/lib/gallium/libd3dadapter9.so.0.0.0" /usr/lib/
sudo ln -s "\`pwd\`/lib/gallium/libd3dadapter9.so.0" /usr/lib/
sudo ln -s "\`pwd\`/lib/gallium/libd3dadapter9.so" /usr/lib/
sudo ln -s "\`pwd\`/include/d3dadapter" /usr/include/
Затем мы создаем и устанавливаем библиотеки молодого вина:
Загрузите соответствующее основное вином ответвление в следующей ссылке и распакуйте wine-master
папка где-нибудь можно найти его назад, например, в корневом каталоге.
Загрузите d3dadapter9-wip.zip и распакуйте все содержание wine-d3dadapter9-wip
каталог в ранее распакованном wine-master
папка. Примите решение перезаписать существующие файлы.
Откройте терминал в wine-master
папка и выполненный к следующим командам:
./configure
make
for f in d3d9.dll gdi32.dll user32.dll wineps.drv winex11.drv;
do
sudo mv /usr/lib/wine/$f.so /usr/lib/wine/$f.so.old;
sudo ln -s "\`pwd\`/dlls/\`basename -s .dll $f\`/$f.so" /usr/lib/wine/;
done
Настройте Вино для использования девять:
regedit
.HKEY_CURRENT_USER\Software\Wine\Direct3D
. Если это не там, создайте его.UseNative
. Установите его значение к 1
.Для получения дополнительной информации об использовании галлия девять, посмотрите на руководство, обеспеченное в первой ссылке, которую я отправил.