移植庫librdkafka到openwrt

2021-08-15 17:59:47 字數 2171 閱讀 3849

1,建目錄:feeds/packages/libs/librdkafka

2,在該目錄下建立makefile: #

# # this is free software, licensed under the gnu general public license v2.

# see /license for more information. #

include $(topdir)/rules.mk

pkg_name:=librdkafka

pkg_version:=0.8

pkg_source:=$(pkg_version).zip

pkg_source_url:=

pkg_source_version:=0.8.6

pkg_source_subdir:=$(pkg_name)-$(pkg_version)

pkg_install:=1

pkg_fixup:=autoreconf

include $(include_dir)/package.mk

define package/librdkafka

title:=librdkafka

section:=libs

depends:=

+libpthread +zlib +librt +libcrypto +libopenssl

category:=qwifi

url:=

endef

target_configure_opts = \

ar=$(target_cross)ar \

as="$(target_cc) -c $(target_cflags)" \

ld=$(target_cross)gcc \

nm=$(target_cross)nm \

cc="$(target_cc)" \

gcc="$(target_cc)" \

cxx="$(target_cxx)" \

ranlib=$(target_cross)ranlib \

strip=$(target_cross)strip \

objcopy=$(target_cross)objcopy \

objdump=$(target_cross)objdump \

size=$(target_cross)size \

prefix=$(pkg_install_dir)/usr

define build/configure

(cd $(pkg_build_dir); ./configure);

endef

define package/librdkafka/prepare

mkdir -p $(pkg_build_dir)

$(install_dir) $(pkg_build_dir)/usr/include

$(install_dir) $(pkg_build_dir)/usr/lib

endef

define package/librdkafka/install

$(install_dir) $(1)/usr/lib

$(cp) $(pkg_install_dir)/usr/local/lib/*.so* $(1)/usr/lib/

endef

$(eval $(call buildpackage,librdkafka))

這裡用的是0.8.6版本

3,編譯

make package/librdkafka/compile v=s

a,若提示#error unknown location for endian.h,則找到錯誤的標頭檔案,增加一條巨集定義

b,編譯example src-cpp可能問題比較多,這兩個檔案可以遮蔽掉,不編譯,在這裡修改

build_dir/target-mips_34kc_musl-1.1.14/librdkafka-0.8/makefile

去掉src-cpp  

example相關的編譯語句

4,再次編譯,成功生成so庫

make package/librdkafka/compile v=s

注意:此時不要使用

make package/librdkafka/ v=s,因為clean後,build_dir下的修改又還原了

librdkafka例程編譯見

mosquitto庫 MQTT 移植到ARM

mqtt 訊息佇列遙測傳輸 是iso 標準 iso iec prf 20922 下基於發布 訂閱正規化的訊息協議。它工作在 tcp ip協議族上,是為硬體效能低下的遠端裝置以及網路狀況糟糕的情況下而設計的發布 訂閱型訊息協議,為此,它需要乙個訊息中介軟體 mqtt是乙個基於客戶端 伺服器的訊息發布 ...

xlslib庫移植到arm上

2 虛擬機器 ubuntu14.04 lts 3 解壓壓縮包xlslib package 2.5.0.zip裡面的xlslib資料夾到 opt目錄下。4 在 opt目錄下建立資料夾xlslib arm,5 開啟 opt xlslib資料夾下的configure檔案,找到幾處有以下內容的地方 if t...

PostgreSQL資料庫移植到SQLite資料庫

最近由於工作需要,要將之前使用的postgresql資料庫換成sqlite資料庫,上網蒐集了些資料,下面就整理一下我的處理方法。思路 使用pg dump將資料庫轉存成sql命令文字,然後在sqlite裡執行sql命令建立資料庫,並匯入資料 具體操作步驟 我們主要可以通過以下三步完成資料庫的轉換。1....