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++構建案例
- 在編譯好的SDK中已經包含了多個Visual Studio專案
- 找到cpp/example目錄下並選擇一個你感興趣的案例跑起來
- 開啟包含的Visual Studio專案
- 更改build設定,並匹配SDK(Release或Debug模式)與CPU(win32或64位版本)
- 選擇視窗選項Build->Rebuild按鈕,當build流程結束後,開啟(CPU)/SDK版本目錄,尋找剛剛生成的.exe可執行檔案。如cpp/samples/basic/VS2008Win7/x64/Release下
- 雙擊應用開啟,系統將會出現一個包含了登入資訊的命令列
在Visual Studio下配置Alljoyn系統
- 開啟專案>屬性
- 點選C/C++
- 編輯附加包含目錄並新增$(ALLJOYN_SDK_HOME)\inc
- 在C/C++選項下選擇前處理器
- 編輯預處理定義並新增QCC_OS_GROUP_WINDOWS與UNICODE
- 點選連結器
- 編輯Additional library directories並新增$(ALLJOYN_SDK_HOME)\lib
- 點選輸入,並找到”Linker”選項
- 輸入如下的庫:
“alljoyn.lib;ajrouter.lib;ws2_32.lib;Secur32.lib;crypt32.lib;Bcrypt.lib;Ncrypt.lib;iphlpapi.lib”.
- 點選確定,那麼接下來就可以使用Alljoyn API了
編輯工程Makefile檔案
通過如下步驟我們可根據MakeFile與檔案結構對專案進行更改
1. 開啟Makefile檔案
2. 建立新的系統變數,命名為ALLJOYN_DIST來指向Alljoyn的SDK
ALLJOYN_DIST :=