導航:首頁 > 源碼編譯 > vs編譯x64

vs編譯x64

發布時間:2023-05-12 22:31:59

⑴ WIN7 64位系統,VS2010 x64中PCL all-in-one配置,編譯時出現問題,具體如下列圖片所示,求大神解答。

1、出現錯誤:fatal error LNK1123: 轉換到 COFF 期間失敗: 文件無效或損壞
解決方案:項目\屬性\配置屬性\清單工具\輸入和輸出\嵌入清單:原來是「是」,改成「否」。
Q:該方法治標不治本,每次新建一個項目時都要重新配置。還有為什麼這么做就能解決該問題呢?
A:1)治本的方法:
<1>項目\屬性\配置屬性\清單工具\輸入和輸出\嵌入清單:原來是「是」,改成「否」。
<2>項目|項目屬性|配置屬性|連接器|清單文件|生成清單 「是」改為「否」。
<3>若以上兩步後仍沒解決問題,則按照以下方法解決:
查找是否有兩個cvtres.exe。一個是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一個是C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。右鍵屬性|詳細信息 查看兩者版本號,刪除/重命名較舊的版本,或者重新設置Path變數。
刪除舊版本的cvtres.exe後,就不需要每次都設置配置了。
2)為什麼這么操作可以解決問題?筆者未查明原因,同仁們有清楚的可以給出評論。

2、1>lena.obj : error LNK2019: 無法解析的外部符號 _cvReleaseImage,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvDestroyWindow,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvWaitKey,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvShowImage,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvNamedWindow,該符號在函數 _main 中被引用
1>lena.obj : error LNK2019: 無法解析的外部符號 _cvLoadImage,該符號在函數 _main 中被引用
1>c:\users\yunyan\documents\visual studio 2010\Projects\lena\Debug\lena.exe : fatal error LNK1120: 6 個無法解析的外部命令
1>
1>生成失敗。
1>
1>已用時間 00:00:01.52
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========
解決方案:出現錯誤的原因可能有二,一種是系統配置不對(如x64位下仍使用Win32則錯),另一種是少添加了庫。筆者的是第一種原因,因為一直習慣了在x86下編寫Win32程序,所以編譯的時候仍使用了Win32,那麼必然運行失敗。該問題怎麼破呢?如下:
右擊項目名稱,選擇「屬性」,彈出頁面的最上方中間一項「平台」選擇x64,在該平台下按照OpenCV中文網的配置過程。

⑵ 如何正確安裝VS2008用於基於x64編程

我和你用的一樣,win7_x64+VS2008+IVF11_x64,一點問題銷檔也沒有,你檢查一下你安裝VS2008時裝64位支持了么?我不記得是不是默認的了,另外你說「選項沒有顯示64位的編譯做斗舉器」,又說「選擇X64編譯時彈出對話框……」,是什麼意思?如果選項里沒有X64的選項,你可以點新建,注意不要從「win32」復制,改為「空純碧」,你試試,希望能幫到你

⑶ VS2013 ATL項目由win32轉為x64屬性後 編譯成功後無法自動注冊dll

你可以在工程屬性中自定義生成事件中添加手動注冊滑坦。

設置方法, 選中工程,右鍵菜單【屬性】-【生成事件】-【後期生成事件】-【命令行】中春余輸入信森桐
regsvr32 /s $(OutDir)$(TargetName)$(TargetExt)

⑷ 如何編譯64位dll程序,有幾種情況,在32位XP上用VC++6.0或者VS2010該怎麼編譯64位的dll。

在64位的操作系統上用vs軟體編譯的dll默認就是64位。
在32位XP上用VC++6.0編譯64位的dll,需要安裝sdk(最新版本是sdk2003),在開始菜單——sdk——open build environment window——windows server 2003 64-bit build environment——set win svr 2003 x64 build env進入命令行,從命令行調用msdev,將vc選項里的include和lib的第一個默認路徑設為sdk目錄下64位頭文件和庫的路徑,編譯出的dll似乎就是64位的了。這個是從網頁上看到的,沒實踐過。
在32位XP上使用vs2010就簡單多了,新建一個項目(解決方案),加入代碼,設置X64,編譯生成即可。

⑸ VS2013怎麼編譯成64位程序

⑹ vs2005 64位編譯是變成編譯32位

早期在vs2008上的一個測試,希望能夠幫助你

一、win32改為x64編譯

我採用衫塵了vs2008平台,以下都是基於此平台將win32編譯改為x64編譯悄判

這里以Debug模式為例,起初為Win32平台,要改成x64,如果有可直接選擇,否則需要新建,之後為

然後打開vs的項目->屬性或運禪->配置屬性->連接器,

在「高級」選項中,目標計算機為MachineX64(/MACHINE:X64)

在「命令行」選項中,將X86改為X64

平台選擇x64,若沒有則新建之

⑺ vs2015c語言x64用什麼編譯器,,, 我查過c語言用cl編譯器,但是cl編譯的是32位,請問

X64和X86是同一個編譯器,只是編譯選項不同

⑻ 如何安裝和使用VS 2008的64位編譯器

v
安裝方法/步驟
1
首先,進入到控制面板,找到關於對應的vs08,卸載。
在控制面板中的程序和功能選項中,選擇Microsoft Visual Studio Team System 2008 Team Suite - 簡單中文,然後右擊選擇「卸載/更新」。

2
之後,進入到卸載的頁面,單擊「添加/刪除功能」,如下圖。

3
然後會進入到選項頁面,在語言工具一欄中,選擇Visual C++中將X64編譯器和工具,如下圖。

4
之後,便進入到安裝的頁面。等待即可。

5
在安裝完成後,通過開始菜單中,即可看到「Visual Studio 2008 x64 兼容工具命令提示」。

END
配置64位編譯器
1
首先,打開一個工程項目,選擇「配置管理器」(或者右擊項目選擇屬性,進入到屬性頁,點擊「配置管理器」)

2
接著,在活動解決方案平台選項中,選擇「新建」,如下圖。

3
之後,在新建頁面,選擇平台x64(在沒安裝64編譯器情況下,則不會有X64選項),點擊「確定」。

4
最後,選擇相應的64位平台,進行編譯即可實現64位程序的編譯。

⑼ 如何安裝和使用VS 2008的64位編譯器

1. 選擇「Build」 – 「Configuration Manager」菜單,打開配置管理器。點擊新建解決方案平台。
2. 選擇「x64」平台,點擊確定按鈕。
3. 這時候配置管理器中的平台已經改成剛才選擇的x64了,這時候編譯出來的就是64位程序了。可以在工具欄的平台下拉框中快速切換目標平台。
4. 如果在選擇平台的下拉列表裡找不到x64,可能是沒有安裝x64編譯支持。在VS安裝程序里再裝上就可以了。

⑽ vs有沒有32位與64位的區別

visualstudio沒有專門的64位版,但32位版可以在64位系統上面正常使用。

由於操作系統內存分配的不同,導致軟體開發過程中,需要編譯不同版本的軟體。

編譯程序根據需要選擇不同的編譯環境,x86和win32為32位程序,x64為64位程序,可以選擇不同的編譯條件形成不同位的軟體。

代碼中的基本數據類型,會根據操作系統的位數來分類內存大小。

如int型在32位操作系統下為4位元組,在64位系統下為8位元組。

因此在64位上對int型數據操作,編譯生成32位的程序,有可能導致int型越界,軟體出現問題,32位的程序在64位操作系統上運行,由於64位操作系統的定址和偏移問題,也有可能導致程序在運行過程中,計算結果與32位系統不一致。

64位操作系統理論上能夠箭筒32位和64位軟體,32位操作系統不能運行64位程序。

在vs中,x64生成的程序只能在64位系統中運行。如果用戶用的是32位的系統(比如XP),則運行不了程序。

x32生成32位程序,由於64位系統也能運行32位的程序,所以這個選項跟AnyCPU一樣可以同時運行在兩種系統中,但效率沒有AnyCPU高,因為64位的軟體跟CPU交互的數據要比32位的接近大一倍。

所以當要把項目代碼轉移到另一台計數機時,就要考慮這個問題。假如原來選擇的目標平台是x64,新電腦的系統是32位,當你按F5調試運行時,則跑不起來,這時把目標平台改成AnyCPU或者x32就能解決了。

(10)vs編譯x64擴展閱讀:

如果項目引用有32位的dll(c++編譯生成的),則只能選擇32位平台,否則也會報錯,整個項目要保持一致。

在項目調試的過程中,可以看到32位與64位程序載入的dll不同。

32位程序從system32中載入dll;而64位程序從syswow64中載入dll。

64bit程序在x86-64處理器上並不會帶來明顯的性能提高,它只是增加了處理器的定址范圍,可以使用更大的內存。而對於VS這種並非內存敏感的程序,並不十分需要遷移到64bit下。

另外,還有一個歷史原因,就是微軟一直沒有完成64bit下的JIT調試器的EditandContinue功能,這是因為64bit的JIT是C++團隊做的,和原生CLR團隊的32bitJIT有很多不同。

如果微軟推出了64bit的VS,那麼調試的體驗會受到限制,這也是為什麼微軟一直以來沒有推出64bitVS的原因。

閱讀全文

與vs編譯x64相關的資料

熱點內容
解放壓縮機支架 瀏覽:253
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:335
非科班程序員自學 瀏覽:799
壓縮泡沫鞋底底材 瀏覽:219
程序員職場第一課2正確的溝通 瀏覽:679
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:77
大智慧均線源碼 瀏覽:373
單片機排阻的作用 瀏覽:215
滴滴金融app被下架如何還款 瀏覽:212
jpg轉換成pdf免費軟體 瀏覽:743
范里安pdf 瀏覽:447
偽造pdf 瀏覽:78
能刪除android文件夾嗎 瀏覽:446