vs每次都重新編譯
❶ vs-code為什麼修改一次代碼就要重新運行一次
這個問題牽扯到的細節就太多了。
長話短說,所有的高級語言終究還是要變成機器語言才能被計算機識別的
在Vs里,牽扯到的代碼通過編譯器的處理會變成 IL中間語言,這種語言已經和匯編很類似了。
不是說運行一次,而是編譯一次。
每次我們在編輯代碼過後,總是要重新編譯才能重新生成Debug。
❷ VS2015編譯64位程序,每次生成都重新編譯,很耗時,如何實現只編譯修改的部分
VS-工具-選項-項目和解決方案-生成並運行 勾選:在運行時只僅生成啟動項目和依賴項
❸ vs2008編譯C++代碼,每次都是全編譯,有什麼設置只編譯修改的文件
如果你選擇「生成解決方案」(不是重新生成) 那就是只編譯了有改動的文件
左邊的文件列表裡 右鍵單擊你要編譯的文件 選擇生成也可以
❹ vs2010如何生成單個項目,每次編譯所有的項目都全部重新生成了
僅供參考~
1、右鍵選擇你要編譯的項目
2、僅用於項目--僅生成即可
❺ vs2008每次按F5調試都要編譯一次,就算代碼沒做任何修改也要編譯
VS-工具-選項-項目和解決方案-生成並運行
勾選:在運行時只僅生成啟動項目和依賴項
❻ VS2013里想要單步調試C++代碼,可每次都要重新先全部編譯
您好,你目前的bug屬於語法類的錯誤,所以編譯不能成功,在編譯窗口中,會顯示錯誤所在的位置以及bug的類型,直接改。在編譯成功後,你的程序有可能還有邏輯錯誤,比如循環條件不對,以至於得不到希望中的結果,在這種時候,才會用到單步調試功能,用來查找邏輯方面的錯誤。
所以對於你目前的問題,處理方法是查看編譯窗口信息,修改語法類錯誤,待編譯成功,查看結果是否符合希望的功能效果,然後使用單步調試功能
我改了一下你的程序,現在可以成功編譯了
#include<string>
usingnamespacestd;
structTest
{
Test(int){}
voidfun(){}
};
intmain()
{
Testa(1);
a.fun();
Testb(2);
b.fun();
getchar();
return0;
}
類的構造體一般只能有一個,不要和方法的重載搞混了
❼ 用visual studio 2005 debug的時候,每次都要編譯。
運行就要編譯。你可以將你的ASP.NET網站放到IIS上面,直接運行就可以。
❽ VS2013怎麼配置opencv才能不用每次都重新配置一遍
說白了就是將VS第一次配置OpenCV的項目屬性表保存下來,每次新建項目時引用即可。
目錄
解壓OpenCV
配置系統環境變數
創建VS新項目
添加項目屬性表
配置項目屬性表
引用項目屬性表
聲明:
以
下展示內容,配置方案為OpenCV2.4.9+VS2013+win10+x64,但方法適用於OpenCV2.4.8、OpenCV2.4.9、
OpenCV2.4.10,適用於win7、win8.1、win10,適用於x64和x84(下面會講解如何對應修改)。如果問為什麼適用?因為我都試
過啊~
會一次性配置的知友請直接看第四部分和第六部分,因為其餘部分跟一次性配置是一樣的。
一、解壓OpenCV
比如本人解壓在G盤根目錄下
二、配置系統環境變數
打開「系統屬性」,點擊「環境變數」
雙擊Path的值部分
填上OpenCV的bin路徑
注意:
1、此時電腦最好重啟下。
2、如果你的應用程序是win32控制台應用程序,則選擇x32的路徑;如果你的應用程序是win64控制台應用程序,則選擇x64的路徑。(感謝 @吳信仰 的指正和解惑。)
3、vc10, vc11, vc12 分別表示VS2010, VS2012, VS2013的Visual Studio使用的編譯器版本,根據自己的VS版本來填寫正確的編譯器版本號。
三、創建VS新項目
四、添加項目屬性表
「視圖」打開「屬性窗口」
右擊「Debug|Win32」點擊「添加新項目屬性表」(如果想在Release模式下使用OpenCV,右擊Release|Win32,同理可得)
給屬性表命名
五、配置項目屬性表
雙擊創建的屬性表
5.1添加包含目錄
5.2添加附加庫目錄
注意:
1、如果你的應用程序是win32控制台應用程序,則選擇x32的路徑;如果你的應用程序是win64控制台應用程序,則選擇x64的路徑。
2、vc10, vc11, vc12 分別表示VS2010, VS2012, VS2013的Visual Studio使用的編譯器版本,根據自己的VS版本來填寫正確的編譯器版本號。
5.3添加附加依賴項
附加依賴項如下:
opencv_imgproc249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
注意:
1、249對應OpenCV2.4.9,其他版本做對應修改。
2、後綴d代表Debug模式,如果是Release模式去掉d。依個人情況選擇Debug模式或者Release模式。
六、引用項目屬性表
打開項目目錄,你會看到如下文件
以後新建項目時,打開屬性管理器,右擊Debug|Win32選擇添加現有屬性表上述文件即可。
========================
以上,應該算VS一次配置永久使用OpenCV了^ ^
編輯於 2016-05-13
12 條評論
感謝
分享
收藏
•
沒有幫助
•
舉報
•
作者保留權利
ZZ Chris
,在野武將
18 人贊同
不同意vczh的做法,遇到需要切換opencv版本的情況太麻煩。
請認准屬性表,一次編寫,到處使用,系統環境變數你都不需要設定,所有設定都寫在屬性表文件中,用的時候在vs里導入屬性表。如果要切換opencv版本,只修改opencv編譯輸出目錄就可以了。
比如OpenCV3.0版的,可以命名為opencv300.props:
<?xml version="1.0" encoding="utf-8"?>
<!--
OpenCV 3.0.0屬性表文件
不用單獨配置環境變數OpenCV
也不用單獨在系統PATH上添加OpenCV可執行路徑
只需要在VisualStudio-"菜單"-"視圖"-"屬性管理器"中添加現有屬性表,添加本文件
使用前請將下面的OpenCVRoot修改為你的OpenCV編譯輸出目錄
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<!-- 請把OpenCVRoot屬性的值替換為你的OpenCV編譯輸出的目標目錄,它包含x64、x86這樣的子目錄 -->
<OpenCVRoot>D:\lib\opencv300\build</OpenCVRoot>
<!-- 指定INCLUDE路徑-->
<IncludePath>$(OpenCVRoot)\include;$(IncludePath)</IncludePath>
<!-- 指定鏈接所需lib目錄-->
<LibraryPath Condition="'$(Platform)'=='Win32'">$(OpenCVRoot)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='X64'">$(OpenCVRoot)\x64\vc12\lib;$(LibraryPath)</LibraryPath>
<!-- 保證系統處於Debug模式時,可以使用相對路徑讀取源代碼目錄下的文件,比如"lena.jpg"而不必是"d:/work/test/test/lena.jpg" -->
<LocalDebuggerWorkingDirectory>$(ProjectDir)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<!-- 讓系統PATH臨時包含指定的dll目錄 -->
<LocalDebuggerEnvironment Condition="'$(Platform)'=='Win32'">PATH=%PATH%;$(OpenCVRoot)\x86\vc12\bin</LocalDebuggerEnvironment>
<LocalDebuggerEnvironment Condition="'$(Platform)'=='X64'">PATH=%PATH%;$(OpenCVRoot)\x64\vc12\bin</LocalDebuggerEnvironment>
</PropertyGroup>
<!-- 以下是程序需要載入的lib文件。-->
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
❾ VS為什麼要重新編譯後修改的代碼才有效
如果你選擇「生成解決方案」(不是重新生成)
那就是只編譯了有改動的文件
左邊的文件列表裡
右鍵單擊你要編譯的文件
選擇生成也可以