Я следил за некоторыми учебными пособиями по использованию некоторых библиотек C для разработки игр в Windows. При использовании некоторых библиотек opengl (freeglut, glew) мне просто нужно скомпилировать с использованием «cl file.c», и если у меня есть нужные файлы dll в текущем каталоге, он будет скомпилирован и работать нормально.
Но для SDL я должен явно предоставить файлы lib, например. "cl sdlprog.c SDL2.lib SDL2main.lib". Я также должен указать, что это консольная программа с "/link/subsystem:console".
Почему мне нужно делать эти вещи для SDL? Программа opengl прекрасно компилируется без упоминания файлов lib.
Я убедился, что все файлы lib находятся в правильном месте. Они находятся там же, где я положил файлы opengl lib.