为啥提示我链接找不到函数?我哪里错了?

为啥提示我链接找不到函数?我哪里错了? 我折腾了两天了
这个是我的代码:
#include <stdio.h>
#include <unistd.h>
#include <gpio.h> //控制gpio的库

//-----------------------------------------------------
#define KEY 41
#define LED 42
// 使用gpio pins命令查看得到这两个引脚编号
//-----------------------------------------------------
//-----------------------------------------------------

void debug_gpio_001()
{
** pin_set_mode(LED, OUTPUT);**
** pin_set_mode(KEY, INPUT);**
** pin_set_pullUpDn(KEY, PULL_UP); //开启内部上拉**
** while (1)**
** {**
** if (pin_read(KEY) == 0)**
** pin_write(LED, 1);**
** else**
** pin_write(LED, 0);**
** }**
** //return 0;**
}

int main()
{
** printf(“%s 向你问好!\n”, “cpp_h618”);**
** return 0;**
}

make命令跑一下:
//-----------------------------------------------------
root@WalnutPi:~/projects/cpp_h618# make
[ 33%] Linking C executable h618Car
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function pin_get_mode': board.c:(.text+0x220): undefined reference to gpio_get_mode’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function pin_set_mode': board.c:(.text+0x258): undefined reference to gpio_set_mode’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function pin_set_pullUpDn': board.c:(.text+0x324): undefined reference to gpio_set_pullUpDn’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function pin_read': board.c:(.text+0x364): undefined reference to gpio_read’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function pin_write': board.c:(.text+0x39c): undefined reference to gpio_write’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function pin_get_mode_name_now': board.c:(.text+0x3e4): undefined reference to gpio_pin_get_mode_name’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function pin_get_mode_name_by_num': board.c:(.text+0x42c): undefined reference to gpio_pin_get_mode_name_by_num’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function soft_pwm_set_duty_cycle': board.c:(.text+0x464): undefined reference to pwm_set_duty_cycle’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function soft_pwm_set_frequency': board.c:(.text+0x4a4): undefined reference to pwm_set_frequency’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function soft_pwm_get_duty_cycle': board.c:(.text+0x4e4): undefined reference to pwm_get_duty_cycle’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function soft_pwm_get_frequency': board.c:(.text+0x51c): undefined reference to pwm_get_frequency’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function soft_pwm_start': board.c:(.text+0x54c): undefined reference to pwm_start’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function soft_pwm_stop': board.c:(.text+0x584): undefined reference to pwm_stop’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function soft_pwm_exists': board.c:(.text+0x5c4): undefined reference to pwm_exists’
/usr/bin/ld: CMakeFiles/h618Car.dir/usr/lib/walnutpi/gpioc/libgpio/board.c.o: in function print_pin_by_search_all_mode_name': board.c:(.text+0x1030): undefined reference to gpio_pin_get_mode_name_by_num’
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/h618Car.dir/build.make:113: h618Car] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/h618Car.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
root@WalnutPi:~/projects/cpp_h618#

以下是我的cmake文件
cmake_minimum_required(VERSION 3.0.0)
#project(h618Car VERSION 0.1.0 LANGUAGES C CXX)

设置 C++/C 标准

#set(CMAKE_CXX_STANDARD 11)
set(CMAKE_C_STANDARD 99)
#set(CMAKE_CXX_STANDARD_REQUIRED True)
set(gpio_libary_locate “/usr/lib/walnutpi/gpioc/libgpio”)
project(h618Car)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories(
“${PROJECT_BINARY_DIR}”
“${gpio_libary_locate}”
)

link_directories(
“${gpio_libary_locate}”
)
#file(GLOB SOURCES “${PROJECT_SOURCE_DIR}/*.cpp”)

message (“PROJECT_NAME = ${PROJECT_NAME}” )
message (“PROJECT_BINARY_DIR = ${PROJECT_BINARY_DIR}” )
message (“INCLUDE_DIRECTORIES =${INCLUDE_DIRECTORIES}”)

add_executable( ${PROJECT_NAME} main.c ${gpio_libary_locate}/board.c)
#target_link_libraries( ${PROJECT_NAME} libgpio.so)

1 个赞