件名にも、挙げた画像などリソースを実行ファイルに埋め込みたいのですが、うまくいかず書き込みをしました。
makefile
CC = gcc
CFLAGS = -O2 -I./SDL/include
LIBS = -L./SDL/lib/x86 -lmingw32 -I/usr/include/w32api -mno-cygwin -mwindows
TARGET = ExamSDL02
OBJS = main.o
RESOURCE= chr.o
SDL = -lSDLmain -lSDL.dll -lSDL_image -lSDL_ttf -lSDL_gfx
all: $(TARGET) $(RESOURCE)
$(TARGET): $(OBJS)
$(CC) -o $(TARGET) -Wall -lm $(OBJS) $(LIBS) $(SDL)
$(RESOURCE):
objcopy -I binary -O elf32-i386 -B i386 chr.png chr.o
clean:
rm -f *.o
.c.o:
$(CC) $(CFLAGS) -c $<
#include <SDL.h>
#include <SDL_image.h>
extern char _binary_chr_png_start[];
extern char _binary_chr_png_end[];
extern char _binary_chr_png_size[];
//const char *start = _binary_chr_png_start; // データの先頭のアドレスを取得
//const char *end = _binary_chr_png_end; // データの末尾のアドレス + 1 を取得
//int size = (int)_binary_chr_png_size; // データのサイズを取得
int main( int argc, char* argv[] )
{
SDL_Init( SDL_INIT_EVERYTHING );
// printf( "Start:%d\n", &_binary_chr_png_start[0] );
SDL_Quit();
return 0;
}
makeでundefined reference to `_binary_chr_png_start' 等のエラーが出ます。
お力添え、お願いします。