How to distribute my build of ICU with my app, on Ubuntu/Mint?
-
Mint 17.2/Ubuntu 14.04 use ICU 52.1. I want to release my app (map_creator) with ICU 54.1.
I can build ICU 54.1 on my Mint 17.2 build machine, and link to it when I build with Qt Creator, with this in my .pri:
INCLUDEPATH += $${PWD}/third_party/icu/source/common $${PWD}/third_party/icu/source/i18n $${PWD}/third_party/build/icu/$${BUILD_MODE}/common LIBS += -L$${PWD}/third_party/build/icu/$${BUILD_MODE}/lib unix:LIBS += -licudata -licui18n -licuuc
I can build my app on Mint 17.2 with Qt Creator, works fine. I can verify it is linking ICU 54 with:
nm map_creator | c++filt | grep icu
However, if I mouse over my code that uses ICU, the tooltip indicates it's pointing to the system ICU. And more importantly, my build script calls debuild, and when debuild builds my app, it links to the system ICU, which I can verify by comparing the Makefiles as well as running the
nm
command as above on the executable (after I extract if from the .deb).So, I'm confused! Why does it link correctly in Qt Creator, and how do I make it work correctly with debuild?
In my rules file in override_dh_auto_configure, I call qmake with these parameters, which are the same as what Qt Creator does:
-r -spec linux-g++-64