компиляция musescore для uCLinux с помощью QT и cmake - PullRequest
0 голосов
/ 22 февраля 2012

Я пробовал несколько вещей, но у меня все еще есть эта ошибка при попытке сделать cmake для blackfin:

CMake Error at CMakeLists.txt:116 (message):

  Fatal error: QT (version >= 4.5.0) required.  Cmake tries to detect QT4 by

  searching for 'qmake' in your PATH.If you have QT4 installed, make sure

  qmake is found in your PATH.  If you compiled QT4 yourself make sure your

  new qmake ist found _first_ in your PATH.

Я пытаюсь скомпилировать источник musescore 0.9.5, чтобы он был совместим ссуществующая версия QT в опциях uClinux

Что я сделал, так это скомпилировал ядро ​​uClinux с QT lib, чтобы я мог иметь подходящий встроенный QT.

, затем я изменил Makefile musescore для сборки сUCLINUX компиляторы.Я пробовал разные вещи, поэтому я показываю здесь последнюю версию:

bfin:

        mkdir build;

        mkdir install;                               \

        cd build;

        cmake -DCMAKE_TOOLCHAIN_FILE=bfin.cmake -DCMAKE_VERBOSE_MAKEFILE=TRUE -\

DQT_QMAKE_EXECUTABLE=/home/william/Development_new/Music_Recognition/code/uCLin\

ux/rev2011R1/uclinux-dist/lib/qt-embedded/build-qt-embedded-linux-opensource-sr\

c-4.5.1/bin         -libdir=/home/william/Development_new/Music_Recognition/cod\

e/uCLinux/rev2011R1/uclinux-dist/lib/qt-embedded/build-qt-embedded-linux-openso\

urce-src-4.5.1/lib    \
                -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
                mscore;

в CMakeLists.txt, который я добавил:

link_directories(/home/william/Development_new/Music_Recognition/code/uCLinux/r\

ev2011R1/uclinux-dist/lib/qt-embedded/build-qt-embedded-linux-opensource-src-4.\

5.1/bin)



SET(CMAKE_MODULE_PATH /home/william/Development_new/Music_Recognition/code/uCLi\

nux/rev2011R1/uclinux-dist/lib/qt-embedded/build-qt-embedded-linux-opensource-s\

rc-4.5.1/bin)



SET(CMAKE_PREFIX_PATH /home/william/Development_new/Music_Recognition/code/uCLi\

nux/rev2011R1/uclinux-dist/lib/qt-embedded/build-qt-embedded-linux-opensource-s\

rc-4.5.1/bin)



SET(QT_QMAKE_EXECUTABLE /home/william/Development_new/Music_Recognition/code/uC\

Linux/rev2011R1/uclinux-dist/lib/qt-embedded/build-qt-embedded-linux-opensource\

-src-4.5.1/bin)

мой bfin.cmake выглядит так:

# this one is important                                                     

SET(CMAKE_SYSTEM_NAME Linux)
#this one not so much                                                       

SET(CMAKE_SYSTEM_VERSION 1)


#                                                                           

SET (BFIN "/opt/uClinux/bfin-uclinux")


# specify the cross compiler                                                
SET(CMAKE_C_COMPILER    ${BFIN}/bin/bfin-uclinux-gcc)

SET(CMAKE_CXX_COMPILER   ${BFIN}/bin/bfin-uclinux-g++)
SET(CMAKE_LINKER        ${BFIN}/bin/bfin-uclinux-ld)


#/opt/uClinux/bfin-uclinux/bfin-uclinux/runtime/usr/lib                     

LINK_DIRECTORIES("${BFIN}/usr/lib")



SET(CMAKE_FIND_ROOT_PATH

  /opt/uClinux/bfin-uclinux/bfin-uclinux

  /opt/uClinux/bfin-linux-uclibc

  /opt/uClinux/bfin-linux-uclibc/bfin-linux-uclibc/runtime)


# search for programs in the build host directories                         

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories                       

SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

Заранее спасибо за помощь,

Уильям

1 Ответ

0 голосов
/ 22 февраля 2012

Вам нужно положить qmake в ваш $ PATH. Если вы предпочитаете использовать QT_QMAKE_EXECUTABLE, он должен указывать на фактический двоичный файл qmake, а не на каталог.

При этом MuseScore 0.9.5 - это очень старая версия MuseScore, текущая версия 1.1 и скоро будет 1.2. Проверьте http://musescore.org для получения дополнительной информации о MuseScore и не стесняйтесь обращаться к разработчикам на #musescore на freenode.net или в список рассылки для разработчиков на http://musescore.org/mailing-list

...