Я использую Visual Studio 2013 и SDL 2.0.1, и по какой-то причине, я получаю целую кучу ошибок, похожее на это:SDL ошибок Visual Studio 2013
Error 2 error LNK2019: unresolved external symbol _SDL_DestroyWindow referenced in function "public: virtual __thiscall Display::~Display(void)" ([email protected]@[email protected]) c:\Users\Toby\documents\visual studio 2013\Projects\OpenGLTutorialProject\OpenGLTutorialProject\Display.obj OpenGLTutorialProject
шаги, которые я взял на link SDL к моей программе: -Создал папку с именем include и поместил все файлы в SDL/include в папку include моего проекта. -Создал папку lib для моего проекта и поместил в нее все содержимое SDL/lib. -Согласно Свойства -> Linker -> Общие сведения -> Дополнительные каталоги библиотек и указали его на мою папку lib в проекте. -Согласно Свойства -> C/C++ -> Общие -> Дополнительные каталоги ввода и укажите путь к моей включенной папке в моем проекте. -Went к Свойства -> Linker -> Вход-> Дополнительные зависимости и напечатал следующее:
glew32.lib
glew32s.lib
SDL2.lib
SDL2main.lib
SDL2test.lib
OpenGL32.lib
Да, я включил GLEW, который работает отлично и ссылки.
Когда я печатаю это:
#include<SDL2/SDL.h>
Visual Studio фактически завершает это для меня, так что визуальная студия знает SDL существует в проекте. Однако, после этого, я стараюсь бегать и собирать, и я встретился с кучей нерешенных внешних ошибок символов, а затем это:
Error 12 error LNK1120: 11 unresolved externals c:\users\toby\documents\visual studio 2013\Projects\OpenGLTutorialProject\Debug\OpenGLTutorialProject.exe OpenGLTutorialProject
Я искал и, кажется, SDL используется, чтобы иметь проблемы с визуальной студии 2013, но затем ошибки были сглажены. Я также уверен, чтобы настроить мой основной метод следующим образом:
int main(int argc, char **argv)
Потому что я слышал SDL придирчив, когда дело доходит до аргументов в основном методе. Может ли кто-нибудь сказать мне, что я сделал неправильно?
Я бы очень признателен за помощь ... –
Кстати, у вас не должно быть 'glew32.lib' и' glew32s.lib' и в качестве зависимостей для вашего программного обеспечения. Один (glew32) - это библиотека импорта DLL, а другая - статичная (glew32s). Если вы '#define GLEW_STATIC' перед включением' glew.h' (и я предлагаю вам, так как ссылка на DLL не дает никакой реальной выгоды) ссылку на 'glew32s.lib', в противном случае ссылаться на' glew32.lib' и помнить для распространения GLEW DLL с вашим программным обеспечением. –
Извините, я только начал следовать руководству, которое я нашел. Я, честно говоря, очень новичок в C++, хотя и не новичок в программировании @ AndonM.Coleman –