質問: ### ライブラリの変更内容 元データを使ってビルドし直ししようとしてとりえずエディタに乗っけたら拡張子の違いでc,c++の違いでエラーになったのですべて.hpp .cppファイルに仕方なく変更しました。元は.h .cです。 ### 質問内容 ビルドは成功して本番環境(使いたいプロジェクト)に移行したらヘッダーは読み込めましたがビルドでSOIL.lib 定義がありませんというエラーが多発します。 これはなぜでしょうか? 「 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー LNK2001 外部シンボル *imp_glClear は未解決です Project1 \Game.obj 1 エラー LNK2001 外部シンボル*imp_glClearColor は未解決です Project1 \Game.obj 1 エラー LNK2001 外部シンボル *imp_glGetError は未解決です Project1 \Game.obj 1 警告 LNK4075 /INCREMENTAL は /LTCG の指定によって無視されます。Project1 \LINK 1 警告 LNK4098 defaultlib 'MSVCRT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 Project1 \\LINK 1 エラー LNK2001 外部シンボル*imp_glBindTexture は未解決です Project1 \SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル *imp_glDeleteTextures は未解決ですProject1 \\SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル*imp_glGenTextures は未解決です Project1 \SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル *imp_glTexImage2D は未解決です Project1 \SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル*imp_glTexParameteri は未解決です Project1 \\SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル *imp_glReadPixels は未解決です Project1 \SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル*imp_wglGetProcAddress は未解決です Project1 \\SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル *imp_glGetString は未解決です Project1 \SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル*imp_glGetIntegerv は未解決です Project1 \SOIL.lib(SOIL.obj) 1 エラー LNK2001 外部シンボル *imp_glBlendFunc は未解決です Project1 \SpriteComponent.obj 1 エラー LNK2001 外部シンボル*imp_glDrawElements は未解決です Project1 \SpriteComponent.obj 1 エラー LNK2001 外部シンボル *imp_glEnable は未解決です Project1 \SpriteComponent.obj 1 エラー LNK2001 外部シンボル*imp_glBindTexture は未解決です Project1 \Texture.obj 1 エラー LNK2001 外部シンボル *imp_glDeleteTextures は未解決です Project1 \\Texture.obj 1 エラー LNK2001 外部シンボル*imp_glGenTextures は未解決です Project1 \Texture.obj 1 エラー LNK2001 外部シンボル *imp_glTexImage2D は未解決です Project1 \Texture.obj 1 エラー LNK2001 外部シンボル*imp_glTexParameteri は未解決です Project1 \Texture.obj 1 エラー LNK1120 15 件の未解決の外部参照 Project1 \Project1.exe 1 」※パス名だけ長く意味もないので削除しました。 ### Github Visual studio 2019でビルド .lib orijinal: 原版のデータ jisakuban: 自分でビルドするためにエラーを編集したコード GitHub: https://github.com/Shigurechan/SOIL_build
回答: OpenGL関連の必要なライブラリがリンクされていないだけだと思うので、 エラーが出てる関数名で "imp_" 以降を検索してMSのAPIリファレンスのLibraryを確認してリンクしてください。 glClear function プロジェクトのプロパティで設定出来ますが、ソース中に記入することも可能です。 ``` #pragma comment(lib, "opengl32.lib") ```