stb_image.h в Visual Studio - неразрешенный внешний символ

0

Я загрузил 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
Теги:
compiler-errors
visual-studio-2012

1 ответ

7

Ответ находится прямо вверху stb_image.h:

Сделай это:

  #define STB_IMAGE_IMPLEMENTATION    

прежде чем включать этот файл в один файл C или C++ для создания реализации.
т.е. он должен выглядеть так:

#include ....
#define STB_IMAGE_IMPLEMENTATION    
#include "stb_image.h"

Без этого определения вы получите ошибки относительно нерешенных внешних символов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню