アプリケーションの 32 ビット バージョンと 64 ビット バージョンがあり、32 ビット バージョンが 64 ビット Windows で実行されている場合に備えて、何か特別なことをする必要があります。プラットフォーム固有の呼び出しを避け、代わりに Qt または boost を使用したいと思います。Qt の場合、Q_OS_WIN64 のほかに Q_PROCESSOR_X86_32 を見つけましたが、これがまさに必要なもののようです。しかし、うまくいきません:
#include <QtGlobal>
#ifdef Q_PROCESSOR_X86_64
std::cout << "64 Bit App" << std::endl;
#endif
#ifdef Q_PROCESSOR_X86_32
std::cout << "32 Bit App" << std::endl;
#endif
64 ビット Windows 7 で 32 ビット アプリを実行すると、何も表示されません。これらのグローバル宣言のドキュメントを誤解していますか?
多少の混乱があるため、これはアプリが現在実行されている OS を検出することではなく、アプリ自体の「ビット数」を検出することです。