简体   繁体   中英

C - Staticaly link GLFW in Makefile MinGW32 - Windows10

It is my first time trying to link external libraries to a C file. I read that I can use a Makefile and this is what I have:

all: src/main.c
    gcc src/main.c -o main.exe -IC:\src\C\GameTry\dependencies\include -LC:\src\C\GameTry\dependencies\lib -lglfw3 -lgdi32 -lglew32s

clean:
    rm *.o

The reason I included -lgdi32 is beacuse the official glfw documentation states that:

When using MinGW to link an application with the static version of GLFW, you must also explicitly link with gdi32

This makefile works but OpenGL throws the warning corrupt.drectve at end of def file repeatedly many times and it throws undefined reference to '__security_cookie' error may times aswell which causes the program to not compile. I have looked all arround the internet and haven't been able to find an answer. I believe these errors have something to do with the default MSVN libraries but I'm not sure

VScode 终端错误

If you have libglfw3.a that matches your compiler and platform (make sure to not mix win32 and win64), then a .def file should not be needed.

Somehow the linker is picking up a .def file anyway.

If there is a .def for glfw3, can you try to remove or rename it and try again?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM