最近、CGの勉強を基礎からするためにOpenGLをしている(DirectX12をやりたいけど気力がない...)のですが、SOIL2などの外部ライブラリを自分でコンパイルして使用する際に沼にはまったので、覚書程度に書いていこうと思います。
環境
- windows10
- Visual Studio 2019
ハマったこと
OpenGLを開発するときにはプラットフォームを64bit(x64)にして開発しているのですが、ライブラリをコンパイルする際に、ダウンロードしてきたままhoge.sln
みたいなソリューションファイルを開くと32bit用で指定されていることがちょくちょくある。
こんな感じでWin32
に指定されている。
それでコンパイルしてhoge.lib
などのファイルを作成した後に、自分のプロジェクト(x64)にライブラリを適用させて、実行してみると
LNK4272 ライブラリのコンピューターの種類 'X86' がターゲットのコンピューターの種類' x64' と競合しています
みたいな警告がでて、コンパイルが通らなかった。
解決法
単純です。落としてきたライブラリをコンパイルする際に、自分が開発しているプラットフォームと一致しているかどうか確認しましょう。
まとめ
こんな単純なことで半日溶かす人が減ることを願ってます。この方がいいよとか、違うよとか、わかりづらいよみたいなこと言ってもらえると勉強になるので助かります。