2012-06-16 59 views
-2

我正在構建一個c/C++程序,我正在使用MS Excel進行結果表示。問題是,我不得不進口2個文件:使用#import內部代碼,在if語句中

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

它完全在我的電腦上,但路徑對這些文件是依賴於Windows版本(64/86)和Office版本(11,12,14)。 所以我的想法是要求客戶的這些版本(主要),然後根據輸入使用不同的進口。但我不知道該怎麼做......像這樣的東西不工作:

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

有沒有這樣的事情aaac/c + +程序。 –

回答

0

導入由預處理程序進行的,所以你不能做到這一點在運行時,即你必須知道的所有路徑之前編譯開始

+0

任何其他方式?例如。使用bat文件? – speedyTeh

+0

執行此操作的常用方法是使用編譯器的標頭搜索路徑選項。您可以使用autotools和make,scons,cmake或任何其他編譯系統以及簡單的bat文件來設置它,該文件將查找所有路徑並將其提供給編譯器。 – igoris