我正在尝试在ESP32上(在Windows上)运行AmazonFreeRTOS。在我的Amazon-freertos主文件夹中创建构建文件夹后,我尝试使用
从主文件夹构建它cmake --build。\ build
我遇到的错误是
include找不到加载文件:目标
但是,有一个包含include(targets)
命令的idf_functions.cmake文件,而targets.cmake文件位于同一文件夹中,所以我不知道为什么会发生错误。
答案 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)