반응형
만들기에서 pkg-config를 사용하는 방법
가장 간단한 GTK 프로그램을 컴파일하고 싶습니다.명령줄을 사용하여 컴파일할 수 있습니다.
gcc $(pkg-config --cflags --libs gtk+-3.0) main.c -o main.o
그러나 만들기를 사용하면 작동하지 않습니다.
CFLAGS=-g -Wall -Wextra $(pkg-config --cflags)
LDFLAGS=$(pkg-config --libs gtk+-3.0)
CC=gcc
SOURCES=$(wildcard *.c)
EXECUTABLES=$(patsubst %.c,%,$(SOURCES))
all: $(EXECUTABLES)
내게 이런 말이 있습니다.
gcc -g -Wall -Wextra -c -o main.o main.c
main.c:1:21: fatal error: gtk/gtk.h: No such file or directory
#include <gtk/gtk.h>
^
compilation terminated.
<builtin>: recipe for target 'main.o' failed
make: *** [main.o] Error 1
Make file에서 $(pkg-config --cflags --libs gtk+-3.0)을 어디에 붙여서 컴파일하면 됩니까?
당신의 친절한 도움에 미리 감사드립니다.
두 가지 문제가 있습니다.
먼저 당신의CFLAGS
행이 틀렸습니다: 말하는 것을 잊으셨습니다.gtk+-3.0
에서pkg-config
부분적으로, 그래서pkg-config
대신 오류를 내뱉습니다.
CFLAGS=-g -Wall -Wextra $(pkg-config --cflags gtk+-3.0)
둘째, 그리고 더 중요한 건$(...)
가변 대체를 위해 make 자체에서 가로채는 것입니다.사실, 여러분은 이미 이것을 본 적이 있습니다.
SOURCES=$(wildcard *.c)
EXECUTABLES=$(patsubst %.c,%,$(SOURCES))
all: $(EXECUTABLES)
모두가 만드는 겁니다.
당신이 할 수 있는 두 가지 일이 있습니다.
일단은.`...`
대신에, 똑같은 일을 합니다 ($(...)
is newer shell syntax).
CFLAGS=-g -Wall -Wextra `pkg-config --cflags gtk+-3.0`
LDFLAGS=`pkg-config --libs gtk+-3.0`
둘째, 당신이 GNU make를 사용하는 것처럼 보이기 때문에, 당신은 사용할 수 있습니다.shell
위에 링크된 Basile Starynkevitch의 답변에 나타난 대체 명령:
CFLAGS=-g -Wall -Wextra $(shell pkg-config --cflags gtk+-3.0)
LDFLAGS=$(shell pkg-config --libs gtk+-3.0)
언급URL : https://stackoverflow.com/questions/28533059/how-to-use-pkg-config-in-make
반응형
'programing' 카테고리의 다른 글
입력일이 오늘 날짜와 동일한지 확인하는 방법은? (0) | 2023.10.27 |
---|---|
WordPress add_submenu_page가 잘못된 URL을 제공합니다. (0) | 2023.10.27 |
사이트 주소 URL 변경 후 Wordpress에 글꼴 멋진 아이콘이 표시되지 않음 (0) | 2023.10.27 |
워드프레스 플러그인 개발 도우미로서의 심포니 (0) | 2023.10.27 |
ORA-27101: 공유 메모리 영역이 존재하지 않습니다 (0) | 2023.10.27 |