Я строю свое решение для платформ x86 и x64.
Есть ли в Visual Studio какие-либо переменные целевой платформы, чтобы я мог определить, какую платформу я собираю во время компиляции?
Например:
HINSTANCE hinstLib;
#ifdef TARGET_X86
hinstLib = LoadLibrary("32lib.dll");
#endif
#ifdef TARGET_X64
hinstLib = LoadLibrary("64lib.dll");
#endif
Это то, что я использую:
#if defined(_MSC_VER)
// Microsoft VC compiler
# if defined(_WIN32)
# if defined(_WIN64)
// 64 bit windows
# else
// 32 bit windows
# endif
# endif
#endif
Обратите внимание, что _WIN32 является определено для 64 бит тоже.
Посмотрите здесь: http://msdn.microsoft.com/en-US/library/b0084kay.aspx
_WIN64
или же _M_X64
должно сработать.
Итак, для вашего примера:
HINSTANCE hinstLib;
#ifdef _WIN64
hinstLib = LoadLibrary("64lib.dll");
#else
hinstLib = LoadLibrary("32lib.dll");
#endif