Usually, to cross-compile autotools-based packages, one do: ./configure --prefix=/usr --host=arm-linux-gnueabi make make DESTDIR=/embedded/target install make DESTDIR=/embedded/staging install You typically install things twice because in /embedded/target you want to have only the files useful for execution, completely stripped, while in /embedded/staging you want to keep all debugging symbols to help in debugging. /embedded/target goes in your target embedded system, while /embedded/staging is kept on your development machine, and is used to build more applications and to do remote debugging. Within Qt5, this could be translated as: ./configure -prefix /usr -device <something> make make INSTALL_ROOT=/embedded/target install make INSTALL_ROOT=/embedded/staging install But Qt5 has host utilities, not only tools for the target. And instead of having to build Qt twice, it nicely allows to do the build of host tools and target libraries in just one build, which is really nice. So, one typically does: ./configure -prefix /usr -hostprefix /embedded/host -device <something> make make INSTALL_ROOT=/embedded/target install make INSTALL_ROOT=/embedded/staging install Unfortunately, the INSTALL_ROOT does not only impact target libraries, but also the host utilities. So they end up in /embedded/target/embedded/host which obviously isn't correct. For the moment, I am solving this by doing: ./configure -prefix /usr -hostprefix /embedded/host -sysroot /embedded/staging -device <something> make make install [링크 : http://lists.qt-project.org/pipermail/interest/2013-January/005447.html] |
4.7 에서 hostprefix로는 안되었고
make INSTALL_ROOT install을 통해서 했다는 건데..
-hostprefix, but it doesn't work like I hoped. With "make install INSTALL_ROOT=..." it will install everything even the host tools under this install root |
'Programming > qt' 카테고리의 다른 글
qt - ts / qm (0) | 2015.02.24 |
---|---|
qt 5.3 cross compile 조사 (0) | 2015.01.21 |
qt font path (0) | 2015.01.20 |
qt websocket support (0) | 2015.01.20 |
xquery / qt (0) | 2015.01.19 |