问题描述
编译用C ++编写的SDL2项目时出现错误!
编译:
g++ main.cpp -o main -lSSGL
错误:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libSSGL.so: undefined reference to `SDL_RenderFillRectF'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libSSGL.so: undefined reference to `SDL_RenderDrawRectF'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libSSGL.so: undefined reference to `SDL_SetRenderDrawColor'
collect2: error: ld returned 1 exit status
Makefile:
CC = g++
CFLAGS = -std=c++14
LIBS = -lsdl2 \
-lsdl2_ttf \
-lsdl2_image \
-lsdl2_mixer \
`sdl2-config --cflags --libs`
CPP_FILES = *.cpp
WARRNINGS = -Wall -Werror
LIB = libSSGL.so
O_FILES = *.o
HPP_FILES = *.hpp
SSGL_PATH = /usr/include/SSGL
LIB_PATH = /usr/lib/x86_64-linux-gnu/
all:
$(CC) -c $(CFLAGS) $(WARRNINGS) $(CPP_FILES) $(LIBS)
$(CC) -shared $(CFLAGS) $(O_FILES) -o $(LIB)
install:
cp -r $(LIB) $(LIB_PATH)
mkdir /usr/include/SSGL
cp -r $(HPP_FILES) $(SSGL_PATH)
make clean
uninstall:
rm -rf $(SSGL_PATH)
rm -rf /usr/lib/x86_64-linux-gnu/$(LIB)
clean:
rm -rf $(O_FILES) $(LIB)
在项目文件中检测到所有包含项。
但是我不明白为什么会有这些错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)