2011-06-15 51 views
0

我使用Oracle預編譯器來實現嵌入式SQL。我正在將一些代碼從VC++ 6.0移動到VStudio 2010中。VStudio 2010定製版本問題

我將數據庫調用放在名爲「dbcalls.pc」的單個源代碼模塊中 - 將其傳遞給生成「dbcalls.cpp」的預編譯器,然後獲得像所有其他.cpp文件一樣傳遞給編譯器和鏈接器。

在VC6我做我的自定義編譯手動生成.PC文件 - 即; rt單擊dbcalls.pc文件並選擇編譯。然後,由於我用我必須打開的.cpp,並在由預編譯器產生的的.cpp的頂部插入的#include「stdafx.h中的」 Oracle預編譯的特定版本中的錯誤 - 我有一個宏,做這個。然後,我可以在整個項目上執行構建,VC6 IDE將不會嘗試重新運行定製構建。

在VStudio 2010中,我已經複製了一個重要的異常/問題 - 如果我將dbcalls.pc文件配置爲從構建中排除在屬性之下(它被指定爲定製構建類型),那麼我是無法rt點擊該文件並選擇編譯。

如果我設置要包含在構建中的屬性,我可以rt單擊並手動構建.pc到.cpp中,但是當我爲項目運行構建時改變.cpp後,它會重新執行自定義構建並刪除我的更改。我不得不使用屬性對話框來回移動並更改「從構建中排除」設置。這是一個在VC6中不會發生的皇家PITA。

任何人都可以提出解決方法嗎?很明顯,如果預編譯器沒有這個bug,那麼一切都會很好,但是移動到另一個版本的pc目前並不在卡中。

想法?

回答

0

行 - 我不知道爲什麼 - 也許我擺雞在我的頭上只是時間..適量 - 但它現在正常工作。

我解決的另一個問題,我曾與宏參數在自定義生成對話框中的預編譯器,一旦我這樣做,它開始做正確的條件編譯(或者至少是我預料它的工作)。

聳聳肩幾次,說:「結案」。