CMake错误:包含找不到加载文件:目标

时间:2019-07-25 16:14:10

标签: cmake configuration freertos esp32

我正在尝试在ESP32上(在Windows上)运行AmazonFreeRTOS。在我的Amazon-freertos主文件夹中创建构建文件夹后,我尝试使用

从主文件夹构建它
  

cmake --build。\ build

我遇到的错误是

  

include找不到加载文件:目标

但是,有一个包含include(targets)命令的idf_functions.cmake文件,而targets.cmake文件位于同一文件夹中,所以我不知道为什么会发生错误。

2 个答案:

答案 0 :(得分:1)

如果您密切注意该错误,您会发现完整的错误提示如下:

  

CMake错误于   your-amazon-freertos-directory / vendors / espressif / esp-idf / tools / cmake / idf_functions.cmake:26(包括)

     

include找不到加载文件:

     

目标

这是因为idf_functions.cmake将变量IDF_PATH设置为$ENV{IDF_PATH},该变量是在添加行~/.profile时在export IDF_PATH=~/esp/esp-idf中配置的,如{{3 }}。

如果导航到~/esp/esp-idf/tools/cmake/,您会发现target.cmake中包含的ldgen.cmake<your-amazon-freertos-directory>/vendors/espressif/esp-idf/tools/cmake/idf_functions.cmake之类的文件不存在。

解决方案1(有点hacky):
<your-amazon-freertos-directory>/vendors/espressif/esp-idf/tools/cmake/的内容复制到~/esp/esp-idf/tools/cmake/

解决方案2:
修改〜/ .profile文件以添加以下行,而不是here中建议的行:
export IDF_PATH=~/<your-amazon-freertos-directory>/vendors/espressif/esp-idf/
export PATH="$PATH:$IDF_PATH/tools"

这应该避免在生成文件和生成过程中出现任何CMake包含错误。

答案 1 :(得分:0)

由于Amazon FreeRTOS除ESP32外还支持许多其他平台,因此您可能需要提供其他命令来告诉CMake ESP32是您要构建的目标。

尝试使用

@Override
public final void doFilterInternal(
        HttpServletRequest request, HttpServletResponse response, 
FilterChain filterChain)
        throws ServletException, IOException {
    // 処理の開始時間を記録
    long startTime = System.currentTimeMillis();
    // フィルターチェーンの次のフィルターにリクエストとレスポンスを渡す
    filterChain.doFilter(request, response);
    // 処理が戻ってきた時間から処理時間を記録
    long processingTime = System.currentTimeMillis() - startTime;

    // logs only if the request URL follows this pattern
    if (request.getRequestURI().matches(".*/api/.*")) {
        // ログ出力
        logger.info(
                "{} \"{} {}\" {} {}(ms)", request.getRemoteHost(), 
request.getMethod(),
                    request.getRequestURI(), response.getStatus(), 
processingTime);
    }
}

从顶级文件夹生成生成文件到构建文件夹,然后切换到构建文件夹并调用

cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -S . -B your-build-directory

(来自以下内容的“构建,闪存和运行Amazon FreeRTOS演示项目”部分 https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_espressif.html