attempting to compile with MSVC in VScode
Hello,
I am attempting to compile and use this library through VScode, using MSVC. After some trial and error and adding this section near the top of ssfn.h, I was able to get the program to compile and run:
#ifdef _MSC_VER
#define size_t
#define _STRING_H_
#define SSFN_memcmp
#define SSFN_memset
#define SSFN_realloc
#define SSFN_free
#define inline
#ifdef _STDINT
#define _STDINT_H
#endif
#endif
I have created a small program condensed from test 2:
#include <stdio.h>
#include <stdint.h>
#define SSFN_IMPLEMENTATION
#define SSFN_DEBUGGLYPH
#include "ssfn.h"
ssfn_font_t *load_file(char *filename, int *size)
{
char *fontdata = NULL;
FILE *f;
f = fopen(filename, "rb");
if(!f) { fprintf(stderr,"unable to load %s\n", filename); exit(3); }
*size = 0;
fseek(f, 0, SEEK_END);
*size = (int)ftell(f);
fseek(f, 0, SEEK_SET);
if(!*size) { fprintf(stderr,"unable to load %s\n", filename); exit(3); }
fontdata = (char*)malloc(*size);
if(!fontdata) { fprintf(stderr,"memory allocation error\n"); exit(2); }
fread(fontdata, *size, 1, f);
fclose(f);
return (ssfn_font_t*)fontdata;
}
int main(void)
{
int err, size;
ssfn_t ctx;
ssfn_font_t *font;
ssfn_buf_t buf;
int x,y;
/* initialize the normal renderer */
memset(&ctx, 0, sizeof(ssfn_t));
buf.fg = 0xFF202020;
buf.bg = 0;
buf.x = 4; buf.y = 48;
/* load and select a font */
font = load_file((char*)"VeraR.sfn", &size);
err = ssfn_load(&ctx, font);
if(err != SSFN_OK) { fprintf(stderr, "ssfn load error: err=%d %s\n", err, ssfn_error(err)); exit(2); }
err = ssfn_select(&ctx, SSFN_FAMILY_ANY, NULL, SSFN_STYLE_REGULAR | SSFN_STYLE_UNDERLINE, 20);
if(err != SSFN_OK) { fprintf(stderr, "ssfn select error: err=%d %s\n", err, ssfn_error(err)); exit(2); }
err = ssfn_render(&ctx, &buf, "i");
if(err < 0) { fprintf(stderr, "ssfn render error: err=%d %s\n", err, ssfn_error(err)); exit(2); }
printf("Memory allocated: %d %d\n", ssfn_mem(&ctx), (int)sizeof(ssfn_t));
ssfn_free(&ctx);
free(font);
return 0;
}
This is my file structure:
The program compiles and runs, however, I only ever get this as an output:
ssfn load error: err=-2 Bad file format
I'm not sure where to go from here.
