Win32 C ++ Импорт пути на основе ОС? - PullRequest
3 голосов
/ 26 мая 2010

Я работаю с устаревшим кодом, который имеет импорт, например так:

#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF", "EndOfFile")

Проблема в том, что на компьютере x64 путь для этого импорта находится в каталоге «Program Files (x86)». Есть ли макрос препроцессора, который я могу обернуть вокруг этого, чтобы он работал на любом из них?

Edit1: я думаю, что нашел это. _M_X64, но я не уверен на 100%, правильно ли это. Edit2: _M_X64, кажется, для когда вы компилируете для процессора x64. Не на одном.

Ответы [ 2 ]

4 голосов
/ 26 мая 2010

Если вы посмотрите документацию оператора #import , вы обнаружите, что порядок поиска для (MIDL) -компилятора равен

  1. папки в% PATH%
  2. папки в% LIB%
  3. все каталоги «дополнительные включения»

Так что вы можете просто сделать `#import 'и предоставить вашему компилятору каталог / I include.

3 голосов
/ 26 мая 2010

Используйте progid / libid версию оператора import ...

#import "progid:my.prog.id.1.5"

или

#import "libid:12341234-1234-1234-1234-123412341234" version("4.0") lcid("9")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...