gpt4 book ai didi

makefile - 如何在 Makefile 中配置 glib?

转载 作者:行者123 更新时间:2023-12-04 09:20:20 26 4
gpt4 key购买 nike

我正在使用 Eclipse CDT 开发 C 软件。我想使用 glib,但它总是报告“ Unresolved inclusion :”。我已经在我的 ubuntu 上安装了 glib:

carl@Carl:~$ dpkg -l | grep libglib
ii libglib-perl 2:1.223-1
ii libglib2.0-0 2.28.6-0ubuntu1
ii libglib2.0-bin 2.28.6-0ubuntu1
ii libglib2.0-cil 2.12.10-1ubuntu1
ii libglib2.0-data 2.28.6-0ubuntu1
ii libglib2.0-dev 2.28.6-0ubuntu1
ii libglib2.0-doc 2.28.6-0ubuntu1
ii libglibmm-2.4-1c2a 2.28.0-1

我是 C 的大一新生。 虽然我找到了一些建议:
% gcc test.c -Wall -o test `pkg-config --cflags --libs glib-2.0`

但我不知道如何通过我的 Makefile 使其工作:
CC=         gcc
CXX= g++
CFLAGS= -ggdb -g -Wall -O2
CXXFLAGS= $(CFLAGS)
DFLAGS= -DHAVE_PTHREAD #-D_FILE_OFFSET_BITS=64
OBJS= rand.o
PROG= peta
INCLUDES=
LIBS= -lm -lz -lpthread -Lbwt_gen -lbwtgen
SUBDIRS= . bwt_gen

.SUFFIXES:.c .o .cc

.c.o:
$(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@
.cc.o:
$(CXX) -c $(CXXFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@

all:$(PROG)

lib-recur all-recur clean-recur cleanlocal-recur install-recur:
@target=`echo $@ | sed s/-recur//`; \
wdir=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
cd $$subdir; \
$(MAKE) CC="$(CC)" CXX="$(CXX)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \
INCLUDES="$(INCLUDES)" $$target || exit 1; \
cd $$wdir; \
done;

lib:

peta:lib-recur $(OBJS) main.o
$(CC) $(CFLAGS) $(DFLAGS) $(OBJS) main.o -o $@ $(LIBS)

cleanlocal:
rm -f gmon.out *.o a.out $(PROG) *~ *.a

clean:cleanlocal-recur

有人可以帮我吗?谢谢。

最佳答案

在 LIBS 指令的末尾附加:

$(shell pkg-config --libs glib-2.0)

这给你的 CXXFLAGS 和 CFLAGS:
$(shell pkg-config --cflags glib-2.0)

这将完成工作。

关于makefile - 如何在 Makefile 中配置 glib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7846946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com