尝试为我的树莓派 pico 编译简单的 C 代码时遇到问题。我正在使用 VSCode(这在 PS 中也可以重现)。据我所知,我已经正确设置了所有内容。
我只在 PS 中尝试过这样做,它给了我完全相同的结果。
CMakeLists.txt
cmake_minimum_required(VERSION 3.19)
include($ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake)
project(blink C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()
add_executable(${PROJECT_NAME}
main.c
)
pico_add_extra_outputs(${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME}
pico_stdlib
)
主程序
#include <pico/stdlib.h>
int main()
{
const uint led_pin = 25;
//init ledpin
gpio_init(led_pin);
gpio_set_dir(led_pin, GPIO_OUT);
while(true)
{
//blink led
gpio_put(led_pin, true);
sleep_ms(1000);
gpio_put(led_pin, false);
sleep_ms(1000);
}
}
这在使用 nmake 编译时。吐出来,
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build c:/pico/Projects/Blink/build --config Release --target blink -j 6 --
[build] Warning: NMake does not support parallel builds. Ignoring parallel build command line option.
[build] makefile(7): Error(E21): Extension(s) (.PHONY) not defined
[build] makefile(10): Error(E21): Extension(s) (.NOTPARALLEL) not defined
[build] makefile(12): Error(E09): Ignoring out of place Extension
[build] makefile(14): Error(E21): Extension(s) (.PHONY) not defined
[build] makefile(28): Warning(W18): Unrecognized or out of place character '='
[build] makefile(31): Error(E09): Ignoring out of place Single-colon
[build] makefile(36): Error(E21): Extension(s) (.PHONY) not defined
...
[build] Error(E02): Make execution terminated
[build] Build finished with exit code 0
在如何解决这个确切的问题方面,我找不到太多东西,这让我感到惊讶。我发现的唯一一件事是 nmake 不使用“.PHONY”,这就是我的大部分问题的来源。
我是否只删除 Makefile 中的所有“.PHONY”引用?我希望有人可以帮助解决这个非常令人困惑的问题。
谢谢你。