2013-08-22 131 views
0

我有一個32位的VC++應用程序,我已經重新編譯爲64位應用程序,因爲我想在64位操作系統上使用它。
編碼方式無需更改,因爲它兼容32位和64位。
因此,我只做了3個改變,同時(移植)在64位編譯。'atltime.h錯誤32位彙編詩句64位彙編

1)在VS2008(頂部的下拉菜單)中,我從「Win32」更改爲「x64」。
2)在配置管理器中,我確保將編譯的項目更改爲「x64」。
3)在項目屬性 - >連接器 - >高級選項 - >機器類型::將值更改爲MACHINEx64。

現在在給出了背景後,實際出現問題時我以32位模式編譯項目,編譯成功。 但是,當我通過執行上述修改將項目編譯爲x64時,它給出了以下錯誤。

fatal error C1083: Cannot open include file: 'atltime.h': No such file or directory 

如何解決此問題?我是否缺少任何庫? 但我使用了與「32位模式」相同的鏈接器設置。即指向相同的一組* .lib文件。 (因爲所有庫都是靜態鏈接的,所以這個應用程序只生成一個EXE)。注意:我係統中的VS安裝在C:\ ProgramFiles(x86)中,而不是C:\ ProgramFiles中。所以,我看到 「atltime.h」 頭文件是

「C:\ Program Files文件(x86)的\微軟的Visual Studio 9.0 \ VC \ atlmfc \包括」

這是可在64位模式下構建代碼時無法識別此頭文件atltime.h的任何原因?

在此先感謝。

+0

奇怪的是,這是行不通的。也許你錯過了什麼。我不知道是有用的文章。但嘗試閱讀。將程序遷移到64位系統的七個步驟 - http://www.viva64.com/en/a/0042/ – 2013-08-22 16:09:40

回答

0

您是否嘗試將包含路徑添加到您的64位項目目錄設置?

+0

是的,我試過包括路徑「C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ atlmfc \ include「添加到項目屬性 - >常規 - >其他包含目錄中的」atltime.h「。現在先前的錯誤消失了,我得到了我一直在努力掙的很長時間的錯誤「致命錯誤LNK1112:模塊機器類型'X86'與目標機器類型'x64'衝突」 – codeLover

+0

在鏈接器 - >高級 - > Target Machine,更改爲x64 – markiemooster

+0

請參閱http://stackoverflow.com/questions/3563756/fatal-error-lnk1112-module-machine-type-x64-conflicts-with-target-machine-typ – markiemooster