WindowsマシンでVS2015(Platform Toolset v140、ターゲットプラットフォーム8.1)を使用してC++プログラムを作成していて、最近まで、Windows 7,8、および10でUSER32.dllのエントリポイントがないと、C++、VS2015の起動プログラムが停止する
GetPointerInfo()
を使用したタッチのサポートを追加した後、私は、Windows 7のマシン上で実行時にすぐにこのポップアップエラーが表示されます。
USER32.dllの
でGetPointerInfoという名前のエントリポイントを見つけることができません。 MSは明らかにGetPointerInfo()
がWin8以上でのみサポートされていることを明示していますが、それは問題ありませんが、私のプログラムのWindows 7との互換性を完全に破壊したくありません。
私はUSER32.DLL
のWindows 7ののバージョンを前提とは全く機能を含むが、私のプログラムで実行時チェックを追加すること(すなわち、唯一の真のGetPointerInfo()
IsWindows8OrGreater()
かのリターンを呼び出す)トリックをしませんしません。
実際には、私のプログラムをGetPointerInfo()
への参照でコンパイルするだけで、関数が実際に呼び出されるかどうかにかかわらずWin7の互換性が損なわれます。プログラムはWinMain()
も入力しません、それは私にそのメッセージをスローして終了します。
また、Windows 8以降では、すべて正常に動作しています。
どうすれば解決できますか?
私は半日もGoogledしていますが、DLL、リンカー、コンパイラの設定についてはほとんど知識がありません。
ランタイムライブラリとしてマルチスレッド(/ MT)とマルチスレッドDLL(/ MD)の両方を試しました。
私はまた、機能レベルのリンクを有効または無効にしようとしましたが、結果は変わりません。