【问题标题】:Using #import inside code, in if statement在代码中使用#import,在if语句中
【发布时间】:2012-06-19 05:43:47
【问题描述】:

我正在构建一个 c/c++ 程序,并使用 MS Excel 来表示结果。问题是我必须导入 2 个文件:

    #import "C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\MSO.DLL"
    #import "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE"

它在我的计算机上完美运行,但这些文件的路径取决于 Windows 版本(x64/x86)和 Office 版本(11、12、14)。 所以我的想法是向客户询问这些版本(主要),然后根据输入使用不同的导入。但我不知道该怎么做......这样的事情不起作用:

    scanf("%d",ver_office);
if (ver_office==1){
    #import "C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL"
}

【问题讨论】:

  • 没有 c/c++ 程序这样的东西。

标签: c++ c import ms-office conditional


【解决方案1】:

导入是由预处理器执行的,所以你不能在运行时进行,即在编译开始之前你必须知道所有路径

【讨论】:

  • 还有其他方法吗?例如。使用 bat 文件?
  • 执行此操作的常用方法是使用编译器的标题搜索路径选项。您可以使用 autotools 和 make、scons、cmake 或任何其他构建系统以及简单的 bat 文件来设置它,该文件将找到所有路径并将其提供给编译器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 1970-01-01
  • 2015-07-30
  • 2022-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多