【发布时间】:2016-06-14 09:40:46
【问题描述】:
我想使用 CLION (jetbrains c/c++ IDE) 为 pebble 进行开发。我知道 cloud pebble ,并且仍然想使用 Clion。谁能告诉我如何设置它:
- 我可以自动完成 pebble sdk 功能
- 当我点击运行时,命令
pebble build && install正在运行。
【问题讨论】:
我想使用 CLION (jetbrains c/c++ IDE) 为 pebble 进行开发。我知道 cloud pebble ,并且仍然想使用 Clion。谁能告诉我如何设置它:
pebble build && install
正在运行。【问题讨论】:
我使用 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 中。那会很酷。
【讨论】:
您需要为根项目目录和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。
【讨论】: