C 将jpeglib链接到makefile中的
您好,我试图在我的代码中使用C 将jpeglib链接到makefile中的,c,makefile,C,Makefile,您好,我试图在我的代码中使用jpeglib,但我无法将其与我的Makefile 我在tar.gz文件中下载了它,然后提取了它,做了所有的/configure,然后做了make和所有这些东西,但是现在我必须在Makefile中链接它,我不知道Makefile CFLAGS+= -Wall -Werror -fPIE -std=gnu99 -g LDFLAGS= -pthread HW=prgsem BINARIES=prgsem #LDFLAGS += -L/usr/local/lib -
jpeglib
,但我无法将其与我的Makefile
我在tar.gz文件中下载了它,然后提取了它,做了所有的/configure
,然后做了make和所有这些东西,但是现在我必须在Makefile
中链接它,我不知道Makefile
CFLAGS+= -Wall -Werror -fPIE -std=gnu99 -g
LDFLAGS= -pthread
HW=prgsem
BINARIES=prgsem
#LDFLAGS += -L/usr/local/lib -ljpeglib
#CXXFLAGS += -I/usr/local/include
CFLAGS+=$(shell sdl2-config --cflags)
LDFLAGS+=$(shell sdl2-config --libs) -lSDL2_image
all: ${BINARIES}
OBJS=${patsubst %.c,%.o,${wildcard *.c}}
prgsem: ${OBJS}
${CC} ${OBJS} ${CXXFLAGS} ${LDFLAGS} -o $@
${OBJS}: %.o: %.c
${CC} -c ${CFLAGS} $< -o $@
clean:
rm -f ${BINARIES} ${OBJS}
谢谢您的回答。您的问题不在程序的编译阶段,因此在这种情况下更改
#include
等不会有帮助
您的问题是在链接阶段,因此这意味着您尚未将库添加到链接行。例如,如果库名为libjpeg.a
或libjpeg.so
,则需要将-ljpeg
添加到链接行。最简单的方法是将其添加到LDFLAGS
的末尾:
LDFLAGS+=$(shell sdl2-config --libs) -lSDL2_image -ljpeg
您的问题不在程序的编译阶段,因此在这种情况下更改
#include
等不会有帮助
您的问题是在链接阶段,因此这意味着您尚未将库添加到链接行。例如,如果库名为libjpeg.a
或libjpeg.so
,则需要将-ljpeg
添加到链接行。最简单的方法是将其添加到LDFLAGS
的末尾:
LDFLAGS+=$(shell sdl2-config --libs) -lSDL2_image -ljpeg
你应该发布命令的输出“不起作用”。你的规则和食谱看起来非常奇怪。看一看内置规则和隐式变量,然后认真考虑是否应该做一些不同的事情:makefile是提供给我的,我不应该更改结构……我只需要添加它。你应该发布命令的输出“不起作用”。你的规则和食谱看起来非常奇怪。看看内置规则和隐式变量,然后认真考虑是否应该做一些不同的事情:makefile是提供给我的,我不应该更改结构…我只需要添加它。谢谢,这很有效。我太笨了,其实我应该试试这个如果答案是你需要的,请接受它,让其他人知道问题已经得到了回答。哦,对不起,我对这一页很陌生。行。谢谢,谢谢,这很有效。我太笨了,其实我应该试试这个如果答案是你需要的,请接受它,让其他人知道问题已经得到了回答。哦,对不起,我对这一页很陌生。行。谢谢