1. 程式人生 > >AllJoyn第一步:Linux與Windows環境快速配置

AllJoyn第一步:Linux與Windows環境快速配置

Alljoyn框架由Allseen聯盟建立,用於實現短距離裝置上的P2P傳輸。Alljoyn提供了豐富特性的介面以及可用性強的API集。目前alljoyn下主流的環境有Windows與Linux系統,本文主要介紹如何在兩個系統下分別進行環境配置。

Linux下的環境配置

由於本配置教程基於Debian/Ubuntu的Linux版本,如果開發者使用的是其他版本,則只需要通過安裝相同的命令列即可在其他Linux發行版本下使用

安裝Alljoyn框架

首先需要安裝工具與libs

sudo apt-get install build-essential libgtk2.0-dev libssl-dev
xsltproc ia32-libs libxml2-dev libcap-dev

安裝Python 2.6/2.7(目前Python 3.0沒有被系統支援)

sudo apt-get install python

安裝Scons v2.0

sudo apt-get install scons

安裝SSL

sudo apt-get install libssl-dev

下載Alljoyn Source Zip並解壓原始碼。程式碼樹如下所示,也有可能包含其他的目錄,這由版本決定。
root-source-dir/
core/
alljoyn/
ajtcl/
services/
base/
base_tcl/

接下來我們在Linux系統中構建一個案例

cd <root dir of source>/core/alljoyn
scons BINDINGS=cpp WS=off BT=off ICE=off SERVICES="about,notification,controlpanel,config,onboarding,sample_apps"

搭建AC伺服器案例

cd $AJ_ROOT/services/base/sample_apps
scons BINDINGS=cpp WS=off ALL=1

將Alljoyn框架新增到現有的應用中

首先設定

  export
AJ_ROOT=~/alljoyn # <TARGET CPU> can be either x86_64, x86, or whatever value you set for CPU= when running SCons. export AJ_DIST="$AJ_ROOT/core/alljoyn/build/linux/<TARGET CPU>/debug/dist"

並新增include目錄

export CXXFLAGS="$CXXFLAGS \
    -I$AJ_DIST/cpp/inc \
    -I$AJ_DIST/about/inc \
    -I$AJ_DIST/services_common/inc \
    -I$AJ_DIST/notification/inc \
    -I$AJ_DIST/controlpanel/inc \
    -I$AJ_DIST/services_common/inc \
    -I$AJ_DIST/samples_common/inc"

為需要的libs檔案新增連結

export LDFLAGS="$LDFLAGS \
    -L$AJ_DIST/cpp/lib \
    -L$AJ_DIST/about/lib \
    -L$AJ_DIST/services_common/lib \
    -L$AJ_DIST/notification/lib \
    -L$AJ_DIST/controlpanel/lib"

Windows下的環境配置

目前Alljoyn在Windows上可相容大多數最新版本的系統,如Win7/8/10等。Alljoyn在Win系統上需要安裝Visual Studio進行使用。Visual Studio版本可為2012,2013,2015等,相容大部分Visual Studio環境。

這裡寫圖片描述

安裝環境引數

新增ALLJOYN_SDK_HOME引數並指向到Alljoyn SDK的根目錄下。
1. 點選開始按鈕
2. 在搜尋程式與檔案欄中輸入”edit environment”,如下圖所示
這裡寫圖片描述
3. 選擇為賬戶設定環境變數
4. 單擊新建按鈕
5. 在變數名中輸入”ALLJOYN_SDK_HOME”
6. 在變數值中輸入Alljoyn SDK的根目錄位置
這裡寫圖片描述
7. 點選確定

基於C++構建案例

  1. 在編譯好的SDK中已經包含了多個Visual Studio專案
  2. 找到cpp/example目錄下並選擇一個你感興趣的案例跑起來
  3. 開啟包含的Visual Studio專案
    這裡寫圖片描述
  4. 更改build設定,並匹配SDK(Release或Debug模式)與CPU(win32或64位版本)
  5. 選擇視窗選項Build->Rebuild按鈕,當build流程結束後,開啟(CPU)/SDK版本目錄,尋找剛剛生成的.exe可執行檔案。如cpp/samples/basic/VS2008Win7/x64/Release下
    這裡寫圖片描述
  6. 雙擊應用開啟,系統將會出現一個包含了登入資訊的命令列

在Visual Studio下配置Alljoyn系統

  1. 開啟專案>屬性
  2. 點選C/C++
  3. 編輯附加包含目錄並新增$(ALLJOYN_SDK_HOME)\inc
    這裡寫圖片描述
  4. 在C/C++選項下選擇前處理器
  5. 編輯預處理定義並新增QCC_OS_GROUP_WINDOWS與UNICODE
    這裡寫圖片描述
  6. 點選連結器
  7. 編輯Additional library directories並新增$(ALLJOYN_SDK_HOME)\lib
    這裡寫圖片描述
  8. 點選輸入,並找到”Linker”選項
  9. 輸入如下的庫:
    “alljoyn.lib;ajrouter.lib;ws2_32.lib;Secur32.lib;crypt32.lib;Bcrypt.lib;Ncrypt.lib;iphlpapi.lib”.
    這裡寫圖片描述
  10. 點選確定,那麼接下來就可以使用Alljoyn API了

編輯工程Makefile檔案

通過如下步驟我們可根據MakeFile與檔案結構對專案進行更改
1. 開啟Makefile檔案
2. 建立新的系統變數,命名為ALLJOYN_DIST來指向Alljoyn的SDK
ALLJOYN_DIST :=