Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将jpeglib链接到makefile中的_C_Makefile - Fatal编程技术网

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是提供给我的,我不应该更改结构…我只需要添加它。谢谢,这很有效。我太笨了,其实我应该试试这个如果答案是你需要的,请接受它,让其他人知道问题已经得到了回答。哦,对不起,我对这一页很陌生。行。谢谢,谢谢,这很有效。我太笨了,其实我应该试试这个如果答案是你需要的,请接受它,让其他人知道问题已经得到了回答。哦,对不起,我对这一页很陌生。行。谢谢