#gcc #linker #mingw #msys2 #raylib
Вопрос:
Я пытаюсь подключиться к библиотеке игр, которая уже была скомпилирована с помощью mingw, под названием Raylib. Однако; всякий раз, когда я использую MSYS gcc 10.2, он выдает мне следующую неопределенную ошибку ссылки:
gcc main.c -Iraylib-3.7.0_win64_mingw-w64/include -Lraylib-3.7.0_win64_mingw-w64/lib -lraylib -lopengl32 -lgdi32 -lwinmm
/usr/lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/ld: raylib-3.7.0_win64_mingw-w64/lib/libraylib.a(core.o):core.c:(.text 0x1f6e): undefined reference to '_assert'
Кажется, я, может быть, скучаю по библиотеке? Это лишь одна из многих подобных ошибок. Большинство этих неопределенных ссылок предназначены для утверждения, подобного приведенному выше. Некоторые имеют дело с GLFW и другими библиотеками. Кто-нибудь испытывал что-то подобное на MSYS?
Ответ №1:
Похоже, мне нужно было находиться непосредственно в среде MSYS2 mingw64 (командная строка). Я использовал обычную среду MSYS2 MSYS.
Комментарии:
1. Используемая среда влияет на то, какой компилятор находится в ПУТИ. В MSYS2 MSYS вы получаете не обычный MinGW, а Cygwin, который вам почти никогда не нужен.