Geoff L
Geoff L

Reputation: 805

C Include custom header file in Geany on Windows 10 compiling with gcc

I'm having an incredibally hard time finding answers to this for Windows. As if the majority of people use Linux...

Anyways, I need a custom CSV parsing library for C. I found one and downloaded the header file. I tried adding #include <csvparser.h> at the top of my c program but of course, it says file not found. I placed the downloaded file in the same directory as the program.

I think i need to be able to specify an absolute path in the include or place the file csvparser.h in the include directory, but I know how to do neither of these things. What is the default include directory in Windows? I use gcc as my compiler. How can i specify an absolute path in the include statement, on windows? i can find no answer to this.

Thanks!

EDIT

Thank you for the quick reply, I seem to have included the file correctly, but now I'mhaving problems using it.

I found the program at https://sourceforge.net/p/cccsvparser/wiki/Home/

I placed it in the source directory and tried using it, bbut when I try the usage example I'm getting an error. This is my code:

#include <stdio.h>
#include <string.h>
#include "csvparser.h"


#define MAXCHAR 10000

int main() {
    
    // int i =  0;
    // file, delimiter, first_line_is_header?
    
    CsvParser *csvparser = CsvParser_new("../MagicProg/Files/MagicProg_csv_ikoria.csv", "|", 1);
    
    return 0;
}

When I try executing this, geany gives me the error:

C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Geoff\AppData\Local\Temp\ccsiwJPq.o:hello.c:(.text+0x22): undefined reference to `CsvParser_new'

What am I doing wrong? thanks again

Upvotes: 0

Views: 1101

Answers (2)

Geoff L
Geoff L

Reputation: 805

I made the huge newb error of not including the src files along with the header file. I blame myself. thanks everyone for help

Upvotes: 0

tadman
tadman

Reputation: 211700

If you're including something that's in your source directory you need to use a different style:

#include "csvparser.h"

The angle-brackets form is exclusively for things found in your include path, not in your source directory. That's reserved for things like OS and compiler headers, as well as system-installed libraries.

Upvotes: 0

Related Questions