首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据文档,Movesense不能生成忍者文件

根据文档,Movesense不能生成忍者文件
EN

Stack Overflow用户
提问于 2022-06-30 10:50:42
回答 1查看 84关注 0票数 1

C++开发和相关环境不是我使用的东西,所以我可能缺少这方面的知识。

我想做som传感器编程,并希望部署示例项目,使其工作,然后编写我自己的代码,以扩展到那里。

我使用VisualStudio2017管理在模拟器中运行项目。但是无法使用Visual C++编译器构建示例-项目,所以首先安装了MinGW:https://sourceforge.net/projects/mingw/

但是,按照https://movesense.com/docs/esw/getting_started/#example-project的说明,我无法正确地运行create ninja files步骤。运行以下命令时会出现以下错误:

代码语言:javascript
运行
复制
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE=../movesense-device-lib/MovesenseCoreLib/toolchain/gcc-nrf52.cmake -DMOVESENSE_CORE_LIBRARY=../movesense-device-lib/MovesenseCoreLib ../ -DCMAKE_BUILD_TYPE=Debug ../
CMake Warning:
  Ignoring extra path from command line:

   "C:/Development/movesense-device-lib/MovesenseCoreLib/toolchain/gcc-nrf52.cmake"


CMake Warning:
  Ignoring extra path from command line:

   "../movesense-device-lib/MovesenseCoreLib"


CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/MinGW/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/MinGW/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: C:/MinGW/bin/gcc.exe
CMake Error at CMakeLists.txt:13 (include):
  include could not find requested file:

    C:/Development/builddir//MovesenseFromStaticLib.cmake

手动添加MovesenseFromStaticLib.cmake不起作用也会给我带来以下错误:

代码语言:javascript
运行
复制
  Ignoring extra path from command line:

   "C:/Development/movesense-device-lib/MovesenseCoreLib/toolchain/gcc-nrf52.cmake"


CMake Warning:
  Ignoring extra path from command line:

   "../movesense-device-lib/MovesenseCoreLib"


CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/MinGW/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/MinGW/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: C:/MinGW/bin/gcc.exe
CMake Error at builddir/MovesenseFromStaticLib.cmake:29 (include):
  include could not find requested file:

    C:/Development/builddir/app-build/toolchain-setup.cmake
Call Stack (most recent call first):
  CMakeLists.txt:13 (include)


CMake Error at builddir/MovesenseFromStaticLib.cmake:30 (include):
  include could not find requested file:

    C:/Development/builddir/app-build/prolog.cmake
Call Stack (most recent call first):
  CMakeLists.txt:13 (include)


CMake Error at builddir/MovesenseFromStaticLib.cmake:32 (include):
  include could not find requested file:

    C:/Development/builddir/app-build/platform/.cmake
Call Stack (most recent call first):
  CMakeLists.txt:13 (include)


CMake Error at builddir/MovesenseFromStaticLib.cmake:33 (include):
  include could not find requested file:

    C:/Development/builddir/app-build/compiler/.cmake
Call Stack (most recent call first):
  CMakeLists.txt:13 (include)


CMake Error at builddir/MovesenseFromStaticLib.cmake:40 (INIT_SIMULATOR_ENVIRONMENT):
  Unknown CMake command "INIT_SIMULATOR_ENVIRONMENT".
Call Stack (most recent call first):
  CMakeLists.txt:13 (include)


-- Configuring incomplete, errors occurred!

就像Tsyvarev提到的,应该是-D之后的空格,但仍然是:

代码语言:javascript
运行
复制
cmake -G "Ninja" -D CMAKE_TOOLCHAIN_FILE=../movesense-device-lib/MovesenseCoreLib/toolchain/gcc-nrf52.cmake -D MOVESENSE_CORE_LIBRARY=../movesense-device-lib/MovesenseCoreLib ../ -D CMAKE_BUILD_TYPE=Debug ../
CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error in CMakeLists.txt:
  The CMAKE_C_COMPILER:

    arm-none-eabi-gcc

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error in CMakeLists.txt:
  The CMAKE_CXX_COMPILER:

    arm-none-eabi-gcc

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

CMakeLists.txt看起来如下所示:

代码语言:javascript
运行
复制
cmake_minimum_required(VERSION 3.4)
enable_language(C CXX ASM)

if(NOT DEFINED MOVESENSE_CORE_LIBRARY)
    # Give error that user must provide  path to movescount-core library
    message(FATAL_ERROR "Path to movesense-core library not set. Add -DMOVESENSE_CORE_LIBRARY=<path_to_core_lib>  to cmake command line")
endif()

if(NOT IS_ABSOLUTE ${MOVESENSE_CORE_LIBRARY})
    set(MOVESENSE_CORE_LIBRARY ${CMAKE_BINARY_DIR}/${MOVESENSE_CORE_LIBRARY})
endif()

include(${MOVESENSE_CORE_LIBRARY}/MovesenseFromStaticLib.cmake REQUIRED)

有什么帮助,什么是问题,如何解决它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-14 08:32:28

您正在尝试在windows中的MinGW终端上构建项目,而不是像文档中所描述的那样构建Docker容器:

https://movesense.com/docs/esw/getting_started/#build-commands-real-hw

启动Movesense 2.0,docker环境是唯一支持的构建环境。

完全披露:我为移动公司工作

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72814509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档