error LNK2019: 無法解析的外部符號 _LoadShaders,函數 init 中被引用
fatal error LNK1120: 1 個無法解析的外部命令
LoadShaders 為書本提供的輔助函數,定義於 LoadShaders.cpp/.h,並非 OpenGL 標準庫。專案僅包含標頭檔與靜態庫(opengl32.lib, glu32.lib),缺少該輔助源檔編譯連結。
LoadShaders.cpp、LoadShaders.h、vgl.h 等輔助檔案。LoadShaders.cpp。CMakeLists.txt 中 add_executable(main main.cpp LoadShaders.cpp)。#include "LoadShaders.h" 路徑正確。專案屬性 → Linker → Input → Additional Dependencies 添加:
opengl32.lib; glu32.lib; legacy_stdio_definitions.lib; (若用 freeglut) freeglut.lib;
/NODEFAULTLIB:LIBCMTD 警告通常因運行時庫不匹配(MT/MD),統一設定為 Multi-threaded Debug DLL (/MDd) 即可。