2011-12-18 42 views
0

VS 2010 Premium: 我有一個針對x86平臺的項目,我需要將它定位到x64平臺。 我去了配置管理器,從那裏到主動解決方案平臺,選擇了「新建」,添加了一個「x64」選項並從Win32平臺複製設置(這是我唯一的選擇)。VS 2010 Premium:在64位項目中導航到Windows目錄

所以現在如果我沒有弄錯,項目應該是針對x64平臺的。

我在我的項目中的代碼行,詢問與此路徑的文件: 共同文件\微軟共享\ OFFICE14 \ ACEDAO.dll

然而,這似乎是在編譯過程中,正在從申請過這份文件Program Files(x86)目錄(32位目錄)中的「Common Files」目錄。自然編譯失敗,因爲在這個路徑中不存在這樣的文件。

我該如何導航到(Program Files \ Common Files ..)目錄? 該項目應該是針對64位畢竟,我需要這個DLL的64位版本。

+0

您是否嘗試刪除並讀取對庫的引用? – 2011-12-18 14:10:53

+0

什麼是VS 2010 Premium? – BoltClock 2011-12-18 14:13:18

+0

你的意思是重寫相同的代碼行嗎? – 2011-12-18 14:14:37

回答

1

編譯器和鏈接器生成的二進制文件實際上是一個64位圖像。然而,編譯器不是,那是讀文件的文件,因此它受文件系統重定向。默認的64位編譯器是vc \ bin \ x86_amd64目錄中的一個。它是一個產生64位代碼的32位編譯器。您可以在項目的VC++目錄設置中選擇vc \ bin \ amd64以選擇64位編譯器。

雖然你的機器設置有問題,但我在c:\program files (x86)中有這個文件。 Windows 7 x64,Office 2010,VS2010。我不知道爲什麼你沒有它,你可以問在superuser.com。只需複製文件是一個簡單的解決方法。另請注意,ACE提供程序的64位版本不可分發。

+0

謝謝你的回答。 我從x86目錄中刪除了特定文件,因爲我想用64位版本的文件對其進行測試,我認爲它們不能同時安裝。 – 2011-12-18 14:26:29

+0

好的,不要這樣做。您正在使用類型庫,位數無關緊要。他們*可以*同時安裝,32位COM服務器的註冊密鑰保存在註冊表的另一部分。 – 2011-12-18 14:31:33

+0

關於你的答案,你能告訴我在VC++目錄中究竟要改變什麼嗎? 我應該去「可執行目錄」,對吧? 然後更改「$(VCInstallDir)bin \ x86_amd64」值?到什麼呢? – 2011-12-18 14:50:04