취준 일기/스마트 홈 IoT 프로젝트

라즈베리파이 5에 Wiring Pi 다운로드하고 실행 점검하기

termuni 2025. 3. 13. 18:15

거두절미하고, 바로 스타트!

sudo apt install git
git clone https://github.com/WiringPi/WiringPi.git # 원하는 위치에서 clone하길 권장
cd WiringPi

만약 git이 다운로드 되어있지 않다면, git부터 다운로드 하자.

 

cd WiringPi
./build

이 명령어까지 사용해주자.

 

그런 다음, wiringPi를 다운로드 하고 난 뒤 빌드를 할 때 같이 사용되게 하고 싶다.

 

원래는 다음과 같은 명령어를 통해 일일히 wiringPi를 연결시켜주어야 한다.

gcc -o myapp myapp.c -l wiringPi

 

그러나 너무 귀찮다!

 

그렇기에, 다음 과정을 통해, 자동으로 링크해주도록 하겠다.

find /home/pi/WiringPi -name wiringPi.h
/home/pi/WiringPi/wiringPi/wiringPi.h

우선 find 명령어를 사용해서 내 wiringPi.h가 어디있는지 정확히 찾아둔다. 그 이후, 다음 명령어를 만들어서 사용한다

nano make

이렇게 하면, 이 make를 사용해서 편집기로 작성한 내부 내용을 자동으로 실행하게 되는 것.

편집기로는 아래 내용을 작성한다.

CC = gcc
CFLAGS = -I/home/pi/WiringPi/wiringPi
LDFLAGS = -L/home/pi/WiringPi -lwiringPi

# 현재 디렉토리에 있는 모든 .c 파일 찾기
SRC = $(wildcard *.c)
OBJ = $(SRC:.c=)

# 사용자가 target을 지정하면 해당 파일만 빌드
all: 
	@if [ -z "$(target)" ]; then \
		echo "❌ 사용법: make target=<파일명>"; \
	else \
		make $(target); \
	fi

# 특정 파일만 빌드
%: %.c
	$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)

clean:
	rm -f $(OBJ)

 

이렇게 make 를 설정해주고,

#include <stdio.h>
#include <wiringPi.h>

int main()
{
    return 0;
}

이렇게 빈 파일을 만들어주겠다.

 

그리고 

make test

를 실행하면, 잘 컴파일 후 빌드까지 된다!


사실 알고보니, ./build를 안 해서 생긴 문제였다.. ㅠㅠ

하지만 나중에 추가로 header를 만들어서 덧붙이는 경우가 있다면, 이런 방식을 사용 하는 것도 유용할 것 같다.

그러니 알아는 두자!

그렇지만 ./build만 하면, gcc로 컴파일 시 자동으로 포함된다