MSYS2 gcc неопределенная ссылка _assert, какой библиотеки мне не хватает?

#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, который вам почти никогда не нужен.