Vs一個項目不同編譯選項
❶ 關於在VS2010創建項目的一點疑惑!我想在同一個項目中創建兩個源文件,為什麼編譯不行
我剛用vs2010編輯C程序,也出現這種問題,他的意思是源代碼己經修改過了,是否要生成新的ExE文件替換原來的ExE文件,代碼修改後沒有build就開始debug,就出現「項目已過期」,要求生成(build)。如果沒有退出調試狀態就調試,就會出現「沒找到EXE文件」。注意調試菜單中有「全部中斷(break all)」和「退出調試(stop debugging)」兩項,點擊後者才退出了調試狀態。正確流程:編碼->生成->調試->退出調試->修改->重新生成->調試->退出調試...。希望對你有幫助
❷ 怎麼在VS2015換不同的編譯器
解決辦法:
1.使用Ctrl+F5快捷鍵,或者選擇調試->開始調試(不執行);
2.在程序入口main()函數的return語句之前加上getchar();
3.在程序入口main()函數的return語句之前加上system("pasue");
4.更改項目配置:項目->屬性->配置屬性->鏈接器->系統->子系統->控制台 增加「/SUBSYSTEM:CONSOLE」鏈接選項就可以了(該方法有時候沒有用)。
❸ 用vs2005開發工具可以在一個項目可以用兩種開發語言嗎
可以.
用一種語言來作類,其它語言來引用它,但要注意,將不同語言代碼混合在一起編譯是不允許的.
只要使用.net的語言,兼容CLS要求,編繹出來的類,就可以供,其它.net語言繼承及使用.
微軟一直就指出 .net本身就是語言無關性.
只要遵守CLS要求的.net類,基本上都可以使用.
具體操作,可以查找關於CLS以及.net跨語言支持相關的書籍.內容較多,就不一一述說了.
❹ 如何讓VS根據編譯環境選擇相應的配置文件
其實微軟還是蠻有創造力的,一個配置文件居然弄了這么多的形式,從原來的ini到現在的xml,總而言之讓我們這些在微軟殿堂里的程序員翹著屁股追趕。
微軟最新的配置文件實際上就是個xml文件,以後綴名.config表示,但是在VS中默認只有一個配置文件,app.config或者web.config,有時我們想添加自己命名的配置文件卻感覺很乏力,我這篇博客就是來介紹下如何讓VS能夠按照我們的意願使用配置文件。
使用情景:我們現在有兩套WCF服務,一個是測試服務,一個是正式服務,我們想讓VS在Debug模式下選擇包含測試服務的配置文件,在Release模式下選擇包含正式服務的配置文件。
這里使用的技術是MSBuild,在VS自帶的MSDN中有詳細闡述,這項技術主要用於定製VS的編譯過程
本篇博客主要參考了文章http://icelava.net/forums/thread/2920.aspx,如果打不開就翻牆吧!
首先新建一個WinForm項目,在項目中添加兩個配置文件app.Debug.config和app.Release.config(如果有自帶的App.config,可將其刪除),並在兩個配置文件中添加測試數據
然後打開項目所在文件夾,用文本編輯器打開項目文件,在這里我推薦Notepad++,當然你可以根據個人習慣選擇自己喜歡的編輯器。
注意:千萬不要用寫字板打開,因為寫字板會改變文件的換行符,使程序不能正確載入配置文件
打開文件最後處會看到下面一段注釋的內容,意思很清楚就不用解釋了
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
修改AfterBuild任務如下:
1 <Target Name="AfterBuild">
2 <Delete Files="$(TargetDir)$(TargetFileName).config" />
3 <Copy SourceFiles="$(ProjectDir)\app.$(Configuration).config"
4 DestinationFiles="$(TargetDir)$(TargetFileName).config" />
5 </Target>
這段代碼的意思就是在Build完成時候,刪除目標文件夾下的xxx.config文件,並根據當前配置環境將項目文件夾中對應的config文件內容復制至目標文件夾,保存名稱為相應的xxx.config。
編輯完成後保存,這是VS會提示
點擊「重新載入」即可,然後在Form1中添加測試代碼:
1 public partial class Form1 : Form
2 {
3 public Form1()
4 {
5 InitializeComponent();
6 label1.Text = System.Configuration.ConfigurationManager.AppSettings["ILoveSleep"];
7 }
8 }
從運行結果來看,已經達到了預期目的,現在需要做的就是在app.Debug.config中添加測試服務的配置,在app.Release.config中添加正式服務的配置,當選擇Debug模式時,程序會連接測試服務,Release模式時,程序會連接正式服務!
MSBuild十分強大,用好了幾乎可以對整個VS編譯過程進行定製,完成自己想要的任何操作!
<script
type="text/javascript"><!--
google_ad_client = "ca-pub-1944176156128447";
/* cnblogs 首頁橫幅 */
google_ad_slot = "5419468456";
google_ad_width = 728;
google_ad_height = 90;
//--></script><script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
❺ VS2010,我編譯一個VC的項目,為什麼只改動一個.cpp卻總是整個工程都需要編譯呢
1,在FileView中,右鍵單擊你要編譯的文件,在菜單中選擇「Compile(M)」即可;
2,Build菜單中也有相關的命令,ctrl+f7是編譯當前文件;
❻ 在VS2012中一個項目下兩個以上源文件怎麼通過編譯
你直接在源文件裡面添加新的文件,然後把之前的源文件移除,注意是移除而不是刪除哦,你如果想調用它,再打開已有項,它還在那兒。所以,不用再新建一個項目。
❼ VS2010中怎麼在一個工程里編譯運行多個源文件
一個解決方案里可以建立很多工程,
1.
在solution explorer里右鍵點擊解決方案去添加更多工程。
2.
將.h文件放到頭文件夾中,將.cpp文件放到源文件中,或者你可以根據自己的需要新建文件夾進行分類,不一定非要分頭文件和源文件的。
❽ vs2013中怎麼添加文件進項目使得編譯時不編譯他
在解決方案資源管理器中選中某個文件,然後在屬性窗口中將「生成」項目改為「無」
❾ VS如何編譯一個包含多個頭文件、源文件的項目
創建的工程如果是DLL的工程就行了,DLL工程編譯出的文件就是DLL,文件很多也是一樣的,只要工程內的.c文件都會被編譯,這個和編譯exe沒什麼多大區別,但是API函數需要進行外部聲明(不同語言使用的關鍵字不同),否則無法用,沒有API的DLL沒有人任何意義。。。 DLL沒有真正的入口函數,只有一個dllmain函數,是特殊操作時調用的,比如載入DLL,釋放DLL的收回會調用,和winmain或main不同的是,這個函數絕對不能是無限循環。。。
❿ Visual Studio如何設置支持C++11的編譯選項
1 懸停滑鼠查看錶達式值
調試是很有挑戰性的。比如在函數內逐步運行可以看出哪裡出錯,查看堆棧信息可以知道函數被誰調用等等……但是無論哪種情況下,查看錶達式和局部變數的值都是很麻煩的(把表達式和局部變數放到watch窗口裡)。一種更簡單的方法,把滑鼠停在所需查看的數據上。如果是類或結構,那麼點擊展開可以很方便快速地查看其欄位。
2 在運行過程中改變變數值
調試器不僅僅是分析程序崩潰和詭異行為的工具,還可以通過逐步調試檢查數據和行為是否符合程序預期的方法解決許多bug。有時,你會想是否設置某些條件為真,程序就能正確運行了。其實你只要把滑鼠移動到變數上,雙擊值,然後輸入你需要的值。這樣就不需要修改代碼,重啟程序了。
3 設置下一個運行位置
一個典型的調試案例是我們經常會用逐步調試的方法去分析為什麼函數出錯了。這時你遇到這個函數調用其他函數返回錯誤,而這個錯誤不是你想要的,你該怎麼辦?重啟調試器?這里有個更好的方法,直接把黃色的運行位置箭頭拖到你想要的運行位置。其實就是跳過中間運行代碼,直接到想要的位置。很簡單吧。
4 編輯然後繼續運行
在運行一個很復雜的程序和插件時,發現一個錯誤,但是不想浪費時間去重編譯重啟動程序。很簡單,只要在這個位置修改這個bug,然後繼續調試。Visual studio會修改這個程序,使得你可以繼續調試而不需要重啟程序。
值得注意的是「編輯然後繼續運行」這個功能有幾個限制。一,它不能在64位代碼上使用。如果想使用這個功能,到項目設置里的編譯選項,選擇」x86」作為目標平台。不要擔心,這目標平台在reslease配置是和」debug是分離的,也就是說依然是」Any CPU」的設置。二,「編輯然後繼續運行」這個功能僅適用於一個函數內部改變。如果你想要改變這個函數的聲明或者增加新的方法,你只能選擇重啟程序,或者不做任何改變繼續。如果修改的方法中包含lambda表達式,則意味著修改了編譯器自動生成的委託類型,這樣會導致編譯器停止運行。
5 一個方便的查看窗口
大部分現代的調試器都有查看窗口。但是,visual studio的查看窗口使用特別簡單,你能很方便的增加和刪除變數。只要在窗口裡點擊空白行,輸入表達式然後按enter鍵。或者點擊表達式,按delete鍵刪除不需要的表達式。
在調試窗口不僅僅可以查看普通的變數值,甚至可以輸入$handles去追蹤打開的句柄數量,$err去查看函數的錯誤代碼(然後使用 Tools->Error 查看錯誤代碼的描述)或者輸入 @eax(在64位下是@rax )查看包含函數返回值的寄存器值。
6 注釋反匯編
使用內部的反匯編功能使得優化局部代碼更加簡單。Visual studio可以在你的每一行代碼下顯示匯編指令,並且可以逐步調試匯編代碼,也可以在任意位置設置斷點。查看和修改匯編代碼類似於c++。