2013-11-28 3 views
0

Я пытаюсь установить omxplayer для моего raspi, но так как это так медленно, я хочу сделать это на рабочем столе Ubuntu 11.10. Я выполнил инструкции по настройке кросс-компилятора, как описано here (обратите внимание: crosstools не работают для меня). Он упоминает о том, как запустить его в качестве такового:Как скомпилировать OMXPlayer на Ubuntu 11.10

Теперь вы должны быть в состоянии компилировать вы CMake программы, как легко, как выполнение вы CMake с этим дополнительным флагом -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake

Но это не помогает мне, как я никогда не использовали cmake. Если у меня есть стандартная установка, как так:

./configure 
make 
make install 

Где -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake вписываться все это? Я просто изменяю оба вхождения make на cmake = P Я хочу, чтобы люди ответили нам на программистов noob при ответе на эти вопросы. Этот один плакат сделал мою кровь кипящей с его response. Я включил файл omxplayer Makefile.include, который, как я полагаю, должен внести некоторые серьезные изменения, а также файл кросс-компиляции .cmake, может ли кто-нибудь описать мне, какие изменения я должен внести и как они соответствуют друг другу.

Makefile.include:

USE_BUILDROOT=0 
FLOAT=hard 

ifeq ($(USE_BUILDROOT), 1) 
BUILDROOT :=/opt/xbmc-bcm/buildroot 
SDKSTAGE :=$(BUILDROOT)/output/staging 
TARGETFS :=$(BUILDROOT)/output/target 
TOOLCHAIN :=$(BUILDROOT)/output/host/usr/ 
HOST   :=arm-unknown-linux-gnueabi 
SYSROOT  :=$(BUILDROOT)/output/host/usr/arm-unknown-linux-gnueabi/sysroot 
else 
BUILDROOT :=/opt/bcm-rootfs 
SDKSTAGE :=/opt/bcm-rootfs 
TARGETFS :=/opt/bcm-rootfs 
TOOLCHAIN :=/home/dc4/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/ 
HOST  :=arm-linux-gnueabihf 
#SYSROOT  :=$(TOOLCHAIN)/arm-bcm2708hardfp-linux-gnueabi/sysroot 
SYSROOT  :=/opt/bcm-rootfs 
endif 

JOBS=7 

CFLAGS   := -isystem$(PREFIX)/include 
CXXFLAGS  := $(CFLAGS) 
CPPFLAGS  := $(CFLAGS) 
LDFLAGS   := -L$(BUILDROOT)/lib 
LD     := $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT) 
CC     := $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT) 
CXX   := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT) 
OBJDUMP   := $(TOOLCHAIN)/bin/$(HOST)-objdump 
RANLIB   := $(TOOLCHAIN)/bin/$(HOST)-ranlib 
STRIP    := $(TOOLCHAIN)/bin/$(HOST)-strip 
AR     := $(TOOLCHAIN)/bin/$(HOST)-ar 
CXXCP   := $(CXX) -E 
PATH    := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH) 

CFLAGS   += -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog 
LDFLAGS   += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/ -Lpcre/build 
#INCLUDES  += -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2 
INCLUDES  += -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -Ipcre/build -Iboost-trunk -Ifreetype2/include 

raspi.cmake:

SET(CMAKE_SYSTEM_NAME Linux) 
SET(CMAKE_SYSTEM_VERSION 1) 
SET(CMAKE_C_COMPILER /mnt/UEF/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc) 
SET(CMAKE_CXX_COMPILER /mnt/UEF/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++) 
SET(CMAKE_FIND_ROOT_PATH /mnt/UEF/rootfs) 
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 
+0

Привет вы нашли ответ на него? Я застрял с ним. TIA :) –

ответ

0

ли omxplayer есть CMakeLists.txt?

Тогда не запускает это:

cd omxplayer 
mkdir build 
cd build 
cmake .. -DCMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake 
make 
make install 

Нет конфигурирования, не Makefile повозки, запряженных волов.

+0

Существует ** нет ** 'CMakeLists.txt' файл. Я запустил выше, чтобы сгенерировать его, или только если файл уже существует? – puk

+0

Вы выполняете эту команду, если она существует. Поскольку он не существует, вы не используете cmake для сборки omxplayer. Итак, вы задаете неправильный вопрос уже :). – steveire

+0

В основном я нахожусь за ручьями без весла? – puk

1

Использовать Openembedded для Omxplayer для компиляции, это самый простой способ собрать вещи, не слишком беспокоясь о настройке флага.

meta-raspberrypi можно найти здесь https://github.com/martiert/meta-raspberrypi.

Изучите некоторые основы OE Затем начните свою работу.

Чтобы быть простым в моем существующем проекте, я попробовал его и им удалось.

после настройки конфигурации выполните команду omxplayer.

в противном случае, если вы не достаточно хорошо в OE просто попытайтесь понять файл Bb omxplayer

http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/tree/recipes-multimedia/omxplayer/omxplayer_git.bb?h=master

И попытаться кросс-компиляции индивидуально проверки зависимостей

ADDITION Если не знакомы с open-embedded Go for BUildroot Его более легкий тогда OE.

git clone https://github.com/nezticle/RaspberryPi-BuildRoot.git

cd RaspberryPi-BuildRoot

make raspberrypi_defconfig

make menuconfig

здесь Адрес: │ │
-> Выбор пакетов для цели │ │
-> Raspberry Pi

здесь omxplayer будет включен

, наконец

make

Полученный пакет будет в выходной папке

+0

Идти, чтобы дать вам щедрость, в противном случае это пропадает. Я, однако, отправлю ответ, показывающий, как я это сделал. – puk

+0

Привет, вы нашли ответ на него? Я застрял с ним. TIA :) –

Смежные вопросы