Я загрузил stb_image.h(https://github.com/nothings/stb) и включил в.cpp файл, который я хочу использовать.
Затем я использую функцию для загрузки изображения
image_data = stbi_load(fileNames[i], &image_width, &image_height, &image_pixel_components, 0);
Когда я пытаюсь запустить код в Visual Studio, я получаю сообщение об ошибке:
Error 3 error LNK2019: unresolved external symbol _stbi_load referenced in function "public: bool __thiscall CubemapTexture::Load(void)" (?Load@CubemapTexture@@QAE_NXZ) ...\CubemapTexture.obj
Error 40 error LNK2001: unresolved external symbol _stbi_load ...\Texture.obj
Ответ находится прямо вверху stb_image.h:
Сделай это:
#define STB_IMAGE_IMPLEMENTATION
прежде чем включать этот файл в один файл C или C++ для создания реализации.
т.е. он должен выглядеть так:#include .... #define STB_IMAGE_IMPLEMENTATION #include "stb_image.h"
Без этого определения вы получите ошибки относительно нерешенных внешних символов.