【问题标题】:Setting up pebble sdk with jet brains cLion?使用喷气式大脑 cLion 设置 pebble sdk?
【发布时间】:2016-06-14 09:40:46
【问题描述】:

我想使用 CLION (jetbrains c/c++ IDE) 为 pebble 进行开发。我知道 cloud pebble ,并且仍然想使用 Clion。谁能告诉我如何设置它:

  1. 我可以自动完成 pebble sdk 功能
  2. 当我点击运行时,命令pebble build && install 正在运行。

【问题讨论】:

    标签: pebble-watch pebble-sdk


    【解决方案1】:

    我使用 CLION 为我的 Pebble 应用程序开发 C 代码。

    要构建/运行,我只需在 CLION 中打开一个终端,但我确实喜欢能够重构、静态分析发现错误并跳转到 Pebble defs。

    我基于 C 源目录创建了一个新项目,并将我的所有源文件添加到 CMakeLists.txt 以及 Pebble 包含文件和生成的资源文件的路径。这是我的 CMakeLists.txt

    cmake_minimum_required(VERSION 3.3)
    project(src)
    add_definitions(-DNOT_PEBBLE_BUILD)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    
    set(SOURCE_FILES
            pblib/pblib.h ... main_menu_customizer.c main_menu_customizer.h string_values.c error_handler.c error_handler.h)
    
    include_directories("~/Library/Application Support/Pebble SDK/SDKs/current/sdk-core/pebble/chalk/include" ../build/chalk/src)
    add_executable(src ${SOURCE_FILES})
    

    在一个通用头文件中,我也有这些定义,以确保生成的资源文件被拾取,并且我不会收到 APP_LOG 的虚假错误(可能在最新的 CLION 中修复):

    #if NOT_PEBBLE_BUILD
    #include <resource_ids.auto.h>
    #undef APP_LOG // Clion doesn't support
    #endif
    

    虽然与您的问题没有直接关系,但您现在也可以debug C code running in the emulator 使用 GDB,尽管不在 CLION 中。那会很酷。

    【讨论】:

      【解决方案2】:

      您需要为根项目目录和src 添加CMakeLists.txt 文件。请注意,这两个文件都引用了项目名称,在本例中为“sd”,但无论您如何称呼它,只要两个文件中的名称相同即可。

      CMakeLists.txt:

      CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
      PROJECT(sd)
      SET(PEBBLE_FLAVOUR basalt)
      SET(PEBBLE_SDK_VER 3.13.1)
      
      SET(PEBBLE_SDK_INCLUDE_DIR "$ENV{HOME}/.pebble-sdk/SDKs/${PEBBLE_SDK_VER}/sdk-core/pebble/${PEBBLE_FLAVOUR}/include")
      
      INCLUDE_DIRECTORIES("${PEBBLE_SDK_INCLUDE_DIR}")
      # The generated files such as resource_ids are picked up from here:
      INCLUDE_DIRECTORIES("build/${PEBBLE_FLAVOUR}")
      INCLUDE_DIRECTORIES("build/include")
      
      ADD_SUBDIRECTORY(src)
      

      src/CMakeLists.txt:

      CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
      SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..)
      INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
      FILE(GLOB MainSources *.c)
      ADD_LIBRARY(sd ${MainSources})
      

      要使用内联文档,您只需安装最新的 CLion 2016.2 EAP。

      【讨论】:

        猜你喜欢
        • 2019-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多