Ошибка configure.pm
не запущена из-за экспорта скрипта из windows в linux. Я решаю ее, установив http://dos2unix.sourceforge.net/ и запустив dos2unix configure.pm
.После того, как оно правильно выполнило меню конфигурации.
-Для решения формы компиляции меню:
Выполнение непосредственно только cmenu.pl
, то есть сценария, который вызывается при компиляции меню, которое даетта же ошибка, но с более подробной информацией из make-файла. В make-файле отсутствует zlib.
/usr/bin/ld: .obj/release/menutils.o: undefined reference to symbol 'compress'
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:225: recipe for target 'menu_tmp' failed
make: [menu_tmp] Error 1 (ignored)
================================================================================
Compilation finished
********************************************************************************
ERROR: Compilation not successful!
********************************************************************************
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
collect2: error: ld returned 1 exit status
make: [menu_tmp] Error 1 (ignored)
'menu_tmp' and 'menu_tmp' are identical (not copied) at ./cmenu.pl line 226.
Сначала я попытался включить библиотеку в LIBS в MakeFile, но при компиляции она продолжала давать сбой, потому что каждый раз менял MakeFile.запустить компиляцию и стереть мои изменения.
Вот как я решил и скомпилировал хорошо:
Сначала запустил setup.sh
как обычно, установил все и выдал ошибку при компиляции меню.Затем, после запуска dos2unix configure.pm
, чтобы я мог получить доступ к меню конфигурации:
1 - Установить zlib
sudo apt-get install libz-dev
2 - По GPS / EXE / cmenu.строка комментария pl 116 (избегайте переделки MakeFile, чтобы наши изменения не были стерты при попытке компиляции)
# system("$qmake -Wall menu.tmp");
3 - в строке 19 MENU / MakeFile добавьте -lz
LIBS = $(SUBLIBS) -L/usr/lib/x86_64-linux-gnu -lQt3Support -lQtGui -lQtNetwork -lQtCore -lpthread -lz
4 - В строках комментариев MENU / MakeFile с 227 по 255, которые также переделывают MakeFile при каждом запуске.
# Makefile: menu.tmp /usr/share/qt4/mkspecs/linux-g++-64/qmake.conf /usr/share/qt4/mkspecs/common/unix.conf \
# /usr/share/qt4/mkspecs/common/linux.conf \
# /usr/share/qt4/mkspecs/common/gcc-base.conf \
# /usr/share/qt4/mkspecs/common/gcc-base-unix.conf \
# /usr/share/qt4/mkspecs/common/g++-base.conf \
# /usr/share/qt4/mkspecs/common/g++-unix.conf \
# /usr/share/qt4/mkspecs/qconfig.pri \
# /usr/share/qt4/mkspecs/features/qt_functions.prf \
# /usr/share/qt4/mkspecs/features/qt_config.prf \
# /usr/share/qt4/mkspecs/features/exclusive_builds.prf \
# /usr/share/qt4/mkspecs/features/default_pre.prf \
# /usr/share/qt4/mkspecs/features/release.prf \
# /usr/share/qt4/mkspecs/features/default_post.prf \
# /usr/share/qt4/mkspecs/features/shared.prf \
# /usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \
# /usr/share/qt4/mkspecs/features/warn_on.prf \
# /usr/share/qt4/mkspecs/features/qt.prf \
# /usr/share/qt4/mkspecs/features/unix/thread.prf \
# /usr/share/qt4/mkspecs/features/moc.prf \
# /usr/share/qt4/mkspecs/features/resources.prf \
# /usr/share/qt4/mkspecs/features/uic.prf \
# /usr/share/qt4/mkspecs/features/yacc.prf \
# /usr/share/qt4/mkspecs/features/lex.prf \
# /usr/share/qt4/mkspecs/features/include_source_dir.prf \
# /usr/lib/x86_64-linux-gnu/libQt3Support.prl \
# /usr/lib/x86_64-linux-gnu/libQtGui.prl \
# /usr/lib/x86_64-linux-gnu/libQtNetwork.prl \
# /usr/lib/x86_64-linux-gnu/libQtCore.prl
# $(QMAKE) -Wall -o Makefile menu.tmp
5 - Снова скомпилируйте менюиз configure.pm
и успешно скомпилировано.