반응형
    
    
    
  만들기에서 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 |