0
私のコンパイラは次のエラーを与えるが見つかりませんメインクラス)エクスターナル変数
#include <stdio.h>
#include <dirent.h>
#include "Graphics.h"
#include "Fonts/Font.h"
int main(int argc, char* argv[])
{
int i;
Color c;
GRAP_Init();
c.RGB = 0xB69C;
GRAP_DrawString(20, 20, &Ariel_32, &path, c);
return 0;
}
私はフォントの魔女という名前のサブフォルダが含まれている、Font.h
#ifndef GLOBAL_FONT_H_
#define GLOBAL_FONT_H_
typedef struct
{
unsigned char width; //width of this specific character
unsigned char height; //height of this specific character
}Size;
typedef struct
{
Size size; //Actual space needed for this symbol
unsigned char *data; //First instance of array
}Symbol;
typedef struct
{
Size size; //Maximum size that the symbols take
unsigned char firstChar; //first character
unsigned char symbolSize; //size of symbol
unsigned char symbolCount; //number of symbols
}FontHeader;
typedef struct
{
FontHeader header;
Symbol *symbols;
}Font;
extern Font Ariel_32;
#endif
そしてそれはまたAriel_32.c
含まれてい#include "Font.h"
#define _firstChar 0x20 //First character
#define _maxWidth 0x2D //Max width in px
#define _maxHeight 0x29 //Max height in px
#define _symbolSize 0x00F6 //Bytes needed per symbol
#define _symbolCount 0x5F //How many symbol in this font
#define _symbolFile "Ariel_32.sym" //Symbol file witch contains the character data
static struct
{
Size size;
unsigned char data[_symbolSize];
}
const fontsym[_symbolCount] =
{
#include _symbolFile
};
Font Ariel_32 =
{
{{_maxWidth,_maxHeight},_firstChar,_symbolSize,_symbolCount}, //Font header
fontsym
};
編集: 私は誰かがelsesを使った人についての手がかりがないので、私はここにメイクファイルを置くことにします。
program_NAME := movie
program_C_SRCS := $(wildcard *.c)
program_CXX_SRCS := $(wildcard *.cpp)
program_C_OBJS := ${program_C_SRCS:.c=.o}
program_CXX_OBJS := ${program_CXX_SRCS:.cpp=.o}
program_OBJS := $(program_C_OBJS) $(program_CXX_OBJS)
program_INCLUDE_DIRS :=
program_LIBRARY_DIRS :=
program_LIBRARIES :=
CPPFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir))
LDFLAGS += $(foreach librarydir,$(program_LIBRARY_DIRS),-L$(librarydir))
LDFLAGS += $(foreach library,$(program_LIBRARIES),-l$(library))
.PHONY: all clean distclean
all: $(program_NAME)
$(program_NAME): $(program_OBJS)
$(LINK.cc) $(program_OBJS) -o $(program_NAME)
clean:
@- $(RM) $(program_NAME)
@- $(RM) $(program_OBJS)
distclean: clean
あなたは 'Ariel_32.o'とリンクしましたか? – Barmar
私はあなたがmakefileに頼ると思う、魔女は私の元のポストに追加されました。 – Bas
'Ariel_32.c'はサブフォルダにあります。 makefileは 'Fonts'サブフォルダへの参照を含んでいません。 – Barmar