Вот проблема:
Чтобы # импортировать правильную версию ADO для моей 32-битной программы, мне нужно знать, собираюсь ли я на 32-битной ОС Windows (имеется в виду файлнаходится в Program Files) или в 64-битной ОС (имеется в виду, что файл находится в Program Files (x86)).Но я не могу найти макрос, который говорит мне об этом, или даже макрос, который говорит мне, что процессор 64-битный.
Когда я тестирую его на 64-битной Windows 7 под управлением Visual Studio 2008 Express,определены следующие подходящие макросы:
_M_IX86
X86
Но ни один из макросов * 64 не определен, что, я полагаю, будет иметь место, еслиони ссылаются на / target / architectures, а не на архитектуру текущего компьютера.
Существует ли макрос препроцессора, который сообщит мне, работаю ли я с 64-разрядной ОС Windows?
А если так, что это?Я бы даже согласился на один, который скажет мне, использую ли я 64-битный процессор.
(ps я уже знаю этот список )
Обновление
До сих пор люди, кажется, думают, что такого макроса нет, и лучше скопировать библиотеки DLL или использовать переменные среды.
Итак,Подсказка для переменной среды. Я обошел проблему для разработчиков, поместив обе папки - Program Files (x86) и Program Files - в путь включения и используя синтаксис угловой скобки #import.Тем не менее, я подозреваю, что мне потребуется создавать версии выпуска для каждой версии ОС, поскольку библиотеки ADO DLL теперь являются частью ОС и не подлежат распространению.Глядя на это.