【问题标题】:kaa sample apps miss build files for c sdkkaa 示例应用程序缺少 c sdk 的构建文件
【发布时间】:2017-02-06 03:58:28
【问题描述】:

我研究 kaa 平台已经好几个星期了。昨天,我开始在 kaa github 上运行一个名为 gpiocontrol 的示例应用程序。 java (android) sdk 工作正常。但是,在尝试为 esp8266 构建 c sdk 时,我发现一些文件丢失了,这些文件是

  • build.sh(在自述文件中引用)
  • CMakelists.txt(在我尝试运行 cmake 时提示)

另外,我在项目的一些先前提交中发现了这些丢失的文件。所以请检查并重新添加这些文件。非常感谢kaa团队。


更新

我确实注意到我上面提到的构建文件可以在根目录 (sample-apps) 的 /common 路径中找到。


更新 2

很遗憾,通用构建文件没有针对esp8266 平台 的特定构建文件。现在我想知道应该使用哪种方法来为这个平台构建 kaa,遵循 kaa documentation for esp8266 或者只是将选项 -DKAA_PLATFORM=esp8266 添加到 cmake 命令的公共 build.sh 文件中?实际上,我已经尝试过第二种方法,但它失败了:(

常用的build.sh文件cmake命令

build() {
    mkdir -p "$PROJECT_HOME/build"
    cd "$PROJECT_HOME/build"
    cmake -DBUILD_TESTING=OFF ..
    make
}

仍在等待您的回复,再次感谢您!

【问题讨论】:

    标签: kaa


    【解决方案1】:

    您在 GitHub 上的 sample-apps 存储库中发现的示例应用程序源首先由 Maven 构建工具组装,然后部署到 Kaa Sandbox 映像中。

    这完成了使用 Kaa Sandbox 轻松构建应用程序所需的大部分工作。

    因此,构建和运行 Kaa 示例应用程序的最简单方法是通过 Web 界面从 Kaa Sandbox 下载它们,然后根据指南进行构建。该指南本身可在 Kaa Sandbox Web 界面上找到,并针对 Kaa Sandbox 交付的每个应用程序进行了测试。

    有关使用 Kaa 沙盒的更多信息,请参阅 Kaa Getting started 官方文档。

    如果您不适合使用 Kaa Sandbox,并且您仍需要手动构建应用程序,请告诉我。


    更新:我确认 ESP8622 平台在 Kaa Sandbox 0.10.0 版本中被禁用,原因是该平台在发布时存在一些问题。

    我们计划发布带有修复程序的 Kaa 0.10.1,其中应该包括 ESP8622 平台修复程序。


    更新 2:您现在可以使用 kaaproject/sample-apps 存储库的 master 分支按照以下步骤为 ESP8266 平台构建 GPIO 控制应用程序,无需等待下一个版本:

    在应用程序的根目录中创建一个 CMakeLists.txt 文件,内容如下:

    cmake_minimum_required(VERSION 3.0.2) 
    include(config.cmake) 
    
    if (NOT DEFINED KAA_MAX_LOG_LEVEL) 
        set(KAA_MAX_LOG_LEVEL 3) 
    endif (NOT DEFINED KAA_MAX_LOG_LEVEL) 
    
    set(BUILD_TESTING OFF CACHE BOOL "") 
    
    if (NOT DEFINED KAA_SDK_PATH) 
        add_subdirectory(libs/kaa) 
    else (NOT DEFINED KAA_SDK_PATH) 
        add_subdirectory(${KAA_SDK_PATH}) 
    endif (NOT DEFINED KAA_SDK_PATH) 
    
    install(TARGETS demo_client DESTINATION bin) 
    

    将 Kaa SDK 解压到libs/kaa 目录中。

    然后运行(格式化为单个命令):

    mkdir build && \
    cd build && \
    cmake .. \ 
        -DCMAKE_TOOLCHAIN_FILE=../libs/kaa/toolchains/esp8266.cmake \ 
        -DKAA_PLATFORM=esp8266 && \
    make
    

    【讨论】:

    • 我已将最新的 kaa 沙盒映像 (v0.10.0) 安装到我的虚拟机中。它工作正常,但不包括 gpiocontrol 项目。
    • 哦,我明白了。看起来对于 Kaa Sandbox 0.10.0,我们禁用了 ESP8622 平台,因为在 Kaa 0.10.0 发布时没有解决一些问题。这也意味着如果不对 Kaa SDK 等进行额外更改,您将无法构建应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    相关资源
    最近更新 更多