У меня было много проблем при попытке развернуть проект, который использовал OpenCV и QT.Статическое связывание в итоге стало ужасной кроличьей ношей, которую, возможно, я недостаточно умен, чтобы понять, но мы придумали то, что я считаю лучшей альтернативой.проверить это, если интересно.Он включает в себя самую сумасшедшую команду, которую я когда-либо видел, написанную:)
Статическая компиляция проекта, использующего много независимых библиотек, может быть непростой задачей.Также могут быть странные юридические проблемы со сборкой других библиотек в ваш двоичный файл, если они не поддерживаются GPL.Вместо этого мы нашли более простой метод для совместного использования двоичного файла и его зависимостей в одном аккуратном небольшом пакете.
Сначала создайте двоичный файл нормального выпуска, как если бы вы только что нормально разрабатывали Next, перейдите в этот каталог выпуска и выполните эту команду.Он скопирует все зависимости, необходимые для двоичного файла, в папку по вашему выбору!
cp `ldd NAMEOFYOURRELEASE | sed -re s/^.+\=\>// | sed -re 's/^(.+) \(.+\)/\1/'` FOLDERNAMETOPUTLIBRARIES/
для NAMEOFYOURRELEASE поместит имя исполняемого двоичного файла, который вы создали,
и для FOLDERNAMETOPUTLIBRARIES поместитеимя папки, в которую вы хотите скопировать все зависимости в 3. Теперь нам нужно указать исполняемому файлу, где искать зависимости, когда он находится на странном новом компьютере.Перейдите в свой .pro-файл для своего проекта и добавьте эти две строки
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/FOLDERNAMETOPUTLIBRARIES
QMAKE_LFLAGS_RPATH=
Теперь вы сможете перемещать этот двоичный файл и его папку зависимостей куда угодно!