2010-05-26 65 views
3

我与具有像这样的进口一些遗留代码一起工作:基于操作系统的Win32 C++导入路径?

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

的问题是,在x64机器上此导入的路径是在“程序文件(x86)”目录。是否有一个预处理器宏,我可以将它包装起来以使其工作?

编辑1:我想我找到了。 _M_X64,但我不是100%确定这是否正确。 编辑2:_M_X64似乎适用于编译FOR x64处理器时。不在一个。

+0

您是否尝试过在命令行shell中键入'set'有一个看看可用的环境变量? – 2010-05-26 14:57:20

回答

3

使用的ProgID /的import声明LIBID版本...

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

#import "libid:12341234-1234-1234-1234-123412341234" version("4.0") lcid("9") 
+0

哦,不错。 谁知道!? – 2010-05-27 08:10:08

4

如果你看一看的#import statement documentation,你会发现,对于(MIDL)编译器的搜索顺序是

  1. 在%PATH的文件夹%
  2. 的文件夹%LIB%
  3. 所有“额外包括”目录

所以,你可以做`#进口“,给你的编译器的/ I include目录。