2017-02-04 84 views
0

我試圖使用/MP (Build with Multiple Processes)選項來啓用多進程編譯,但是,它與#import的衝突後沒有產生,所以我想在Replacement for #import in Visual C++提出的解決方法:msado15.tlh進口MSADO15.DLL

爲別人絆倒這在谷歌:

  1. 創建一個單獨的靜態庫項目
  2. 建立足夠的包括,所以你可以把#import語句在lib項目
  3. 讓您的主項目依賴的lib項目(以確保正確的構建順序)
  4. 添加的lib項目的臨時build文件夾到包括路徑 主體工程
  5. #include生成的.tlh文件,你在哪裏做的#import
  6. 啓用/ MP開關,並失去茶歇時間...

我愚蠢的步驟,但是,「msado15.tlh」沒有生成。

這是我做的:

  1. 創建一個靜態庫項目AdoImport
  2. AdoImport項目添加一個頭文件AddImport.h,只包含一個行:#import "C:/Program Files/Common Files/System/ado/msado15.dll" rename("EOF", "adoEOF") rename("BOF", "adoBOF")
  3. 編譯

我期待msado15.tlh將生成AdoImport項目的Debug文件夾,但未找到。編譯報告成功並且僅生成AdoImport.lib

我該如何讓msado15.tlh生成,所以我的主要項目可以包括它?

回答

1

以防萬一有人通過谷歌,我如何解決它打這個 -

放線#import "C:/Program Files/Common Files/System/ado/msado15.dll" rename("EOF", "adoEOF") rename("BOF", "adoBOF")AdoImport項目stdafx.h,使其送花兒給人得到編譯。

AdoImport項目的「中間目錄」(項目屬性 - >配置屬性 - >常規)應包含在主項目的路徑中。

1

感謝您提供解決方案。通過這個我試圖在VS2015中創建相同的,但不知何故無法工作。

所以我加了import語句

#進口 「C:/ Program Files文件/公用文件/系統/ ADO/MSADO15.DLL」 重命名( 「EOF」, 「adoEOF」)重命名( 「BOF」, 「adoBOF」)

在我的主項目的預編譯頭文件StdAfx.h中,並編譯了StdAfx.cpp,之後,#import錯誤聲明「.. cannot open msado15.tlh」已解析。這很簡單,無需創建庫。但你的回答讓我解決了這個問題。謝謝你。

謝謝, Kamleshwar。