背景
以前 Visual Studio 2012 で作成した 32bit の VC プロジェクトを Visual Studio 2019 で 64bit 対応したときに、久しぶりに触って色々忘れていたのでメモ。
概要
プラットフォームを「x64」に切り替えてビルドした所、リンクで下記のようなエラーが発生。
error LNK2028: 未解決のトークン (0A00000C) "extern "C" int cdecl SetForegroundWindow(struct HWND *)" (?SetForegroundWindow@@$$J0YAHPEAUHWND__@@@Z) が関数 "public: static bool __clrcall HogeApp::ActivateWindow(class System::String ^)" (?ActivateWindow@HogeApp@@$$FSM_NPE$AAVString@System@@@Z) で参照されました。
解決方法
リンクのエラーなので、作成したプログラムから SetForegroundWindow 関数があるライブラリにパスが通っていないため起こる。
SetForegroundWindow 関数をググってみると、user32.lib にあることがわかるので、プロジェクトのプロパティを開き、 [構成プロパティ]-[リンカ]-[入力] に user32.lib を追加する。