error LNK2019: 無法解析的外部符號 _stbi_load 使用stb_image.h庫的錯誤


此錯誤在使用stb_image.h圖片加載庫時遇到

1>------ 已啟動生成: 項目: OpenGL, 配置: Debug Win32 ------
1>ResourceManager.cpp
1>ResourceManager.obj : error LNK2019: 無法解析的外部符號 _stbi_load,該符號在函數 "private: static class Texture2D __cdecl ResourceManager::loadTextureFromFile(char const *,unsigned char)" (?loadTextureFromFile@ResourceManager@@CA?AVTexture2D@@PBDE@Z) 中被引用
1>ResourceManager.obj : error LNK2019: 無法解析的外部符號 _stbi_image_free,該符號在函數 "private: static class Texture2D __cdecl ResourceManager::loadTextureFromFile(char const *,unsigned char)" (?loadTextureFromFile@ResourceManager@@CA?AVTexture2D@@PBDE@Z) 中被引用
1>D:\18482\visual studio\source\repos\OpenGL\Debug\OpenGL.exe : fatal error LNK1120: 2 個無法解析的外部命令
1>已完成生成項目“OpenGL.vcxproj”的操作 - 失敗。
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========

解決:在include"stb_image.h"前加上#define STB_IMAGE_IMPLEMENTATION,通過定義STB_IMAGE_IMPLEMENTATION,預處理器會修改頭文件,讓其只包含相關的    函數定義源碼,相當於把這個頭文件變為一個 .cpp 文件(原stb_image.h庫的教程給出,具體原因未知)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM