Macross的筆記

2006/09/21

Libupnp 1.4.1 移植到 uClinux

#############################
Libupnp 1.4.1 移植到 uClinux
#############################

1. 下載Libupnp 1.4.1(http://www.virtualworlds.de/upnp/)

2. ./configure參數如下:
#./configure --enable-debug --host=arm-elf --prefix=/root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/libupnp-1.4.1

--host:cross compiler(arm-elf-gcc)
--prefix= :等一下make install會安裝的目錄
--enable-debug:將debug功能開啟

3. #make

4.安裝library:
#make install

############################
如何在curacao中使用 Linupnp
############################

1. 確定 Libupnp 中 lib資料夾的位置(這是我的:/root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/libupnp-1.4.1/lib)

2. link upnp library :
在 RMF_src/curacao/Makefile.rmf 檔案中,加入以下敘述。

#==vin== upnp library
LDLIB = /root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/ libupnp-1.4.1/lib/libupnp.a
/root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/ libupnp-1.4.1/lib/libthreadutil.a /root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/ libupnp-1.4.1/lib/libixml.a

LDFLAGS += $(LDLIB)

3. 我所加入有關upnp的檔案:myupnp.cpp myupnpAction.cpp
在 RMF_src/curacao/Makefile.rmf 檔案中,加入以下敘述。

search "SRC := "
加入 myupnp.cpp myupnpAction.cpp
4. 重新編譯 curacao相關檔

#################################
使用 Libupnp 所需 include 的檔案
#################################

1. 我所 include 的檔案如下:

#include "../../libupnp-1.4.1/include/upnp/upnp.h"
#include "../../libupnp-1.4.1/include/upnp/ithread.h"
#include "../../libupnp-1.4.1/include/upnp/upnptools.h"
#include "../../libupnp-1.4.1/include/upnp/ixml.h"

2. 基本上所 include的檔案需為 libupnp-1.4.1/include 中的檔案,不可直接 include /src 下的 .h 檔。

##########
Debug 相關
##########

1. IUpnpInfoFile.txt IUpnpErrFile.txt
這兩個檔會紀錄 libupnp 中的程式執行狀況。(需在 ./configure時加上 --enable-debug)

powered by performancing firefox

4 Comments:

  • Hi, 您好:
    請問您編譯libupnp時link的pthread library 版本是哪一版? 同時, 請問您有遇到pthread的問題嗎? 因為我在使用libupnp-1.3.1時遇到一些pthread相關的問題, 所以冒昧請教一下,謝謝您。

    By Anonymous 匿名, at 5:46 下午  

  • 版本應該是 LinuxThreads version 0.8

    我在編譯的時後並沒有遇到pthread相關問題,要不要試試看1.4.1的版本。。。因為似乎跟1.3.1差蠻多的。

    By Blogger macross, at 5:15 下午  

  • 请问你编出来的upnpd文件有多大?我编出来的略大于80K,执行upnpd ppp0 br0时没有任何反应,也不会起upnpd进程,加-f参数时提示"Segmentation fault".
    我使用的是mips 32系统,配置命令:
    ./configure --host=mips-linux --build=mips
    我使用的code version:
    libupnp-1.3.1/libupnp-1.4.1
    linuxigd-1.0

    By Blogger jhunix, at 3:28 下午  

  • 新建upnp技术群72280129,
    有兴趣的加进来。

    By Anonymous 匿名, at 2:05 下午  

張貼留言

<< Home