Ты про кросскомпиляцию? Я так и не осилил ее.
Почему? У меня получилось собрать mingw32 компиляцию, но я застрял на сборке Qt средствами Gentoo.
При чем тут "средства gentoo"? Пиши, как делаешь и что не получается?
Собственно:
emerge crossdev
crossdev -t i686-pc-mingw
Всё нормально собралось, mingw10.dll появилась.
cout << "Hello world!"
Скомпилировалось, запустилось из под wine.
Далее два пути:
1) Скачать откомпилированную версию Qt под Windows (так рекомендуют единственные найденные мной руководства)
2) Попробовать собрать через i686-pc-mingw32-emerge (файл с настроенными CHOST, CBUILD, SYSROOT, ROOT)
Попробовал со вторым вариантом,
USE="-glib" i686-pc-mingw32-emerge -pv qt-core
дохнет с ошибкой "Unknown CHOST" CHOST=i686-pc-mingw32
нашел проверку:
qt_mkspecs_dir ()
{
local spec=;
case ${CHOST} in
*-freebsd* | *-dragonfly*)
spec=freebsd
;;
*-openbsd*)
spec=openbsd
;;
*-netbsd*)
spec=netbsd
;;
*-darwin*)
if use aqua; then
spec=macx;
else
spec=darwin;
fi
;;
*-solaris*)
spec=solaris
;;
*-linux-* | *-linux)
spec=linux
;;
*)
die "Unknown CHOST, no platform chosen"
;;
esac;
CXX=$(tc-getCXX);
if [[ ${CXX} == *g++* ]]; then
spec+=-g++;
else
if [[ ${CXX} == *icpc* ]]; then
spec+=-icc;
else
die "Unknown compiler '${CXX}'";
fi;
fi;
if [[ -n ${LIBDIR/lib} ]]; then
spec+=-${LIBDIR/lib};
fi;
if use x64-freebsd || use amd64-linux || use x64-macos || use x64-solaris || use sparc64-solaris; then
spec+=-64;
fi;
echo "${spec}"
}
Ну собственно i686-pc-mingw32 никакого тут конечно нету. Вопрос - какой CHOST в данном случае нужен?