Я использую Ubuntu 10.04 и Qt4.6 и создал исполняемый двоичный файл на своем компьютере через QtCreator.
Теперь я хочу поместить свой исполняемый файл в CentOS 5, но похоже, что этот исполняемый файл не может работать в CentOS.
Сообщение об ошибке:
bash: ./[filename]: cannot execute binary file
Теперь я знаю, что это происходит из-за 32-битной и 64-битной проблемы, и успешно создаю 32-битный исполняемый файл.
Однако этот исполняемый файл все еще не может быть запущен в CentOS из-за проблемы с динамической связью, он всегда показывает, что:
Error while loading shared libraries: libQtGUI.so.4: cannot open shared object file: No such file or directory
Я пытался добавить флаг "-static" в .pro файл
QMAKE_CFLAGS_RELEASE += -Os -static
QMAKE_CPPFLAGS_RELEASE += -Os -static
QMAKE_CXXFLAGS_RELEASE += -Os -static
QMAKE_CCFLAGS_RELEASE += -Os -static
однако, похоже, что он генерирует только «статический двоичный код», но не «статически связанный», зависимость все еще существует.
Я также попытался добавить следующую строку в файл .pro:
QMAKE_LFLAGS += static
Но этот проект не может скомпилироваться после этого.
У меня нет разрешения на установку Qt в Cent OS. Как я могу скомпилировать этот проект со статической связью, чтобы исполняемый файл мог работать независимо?
Спасибо за вашу помощь!