關於VS調試時的工作目錄

今天調試前把輸出目錄設爲了項目下的Debug文件夾下(默認是解決方案目錄下Debug下),生成的exe在修改後的目錄。當我把兩個待讀文件放到exe目錄,用文件名的方式讀取(即相對路徑),調試程序竟然讀不到。百般測試才發現調試程序把工作目錄改了。如果雙擊exe是沒問題的。

參考:https://www.cnblogs.com/qiaozhoulin/p/4509995.html

vs中工作目錄的設置是給調試用的,也即你啓動調試後,啓動一個新進程,自動把這個新進程的工作目錄設置爲vs項目屬性中的工作目錄,然後新進程啓動對應的exe程序。但是如果不使用vs的調試啓動exe,而是直接雙擊exe文件啓動一個新進程時,會自動把這個新進程的工作目錄設置爲exe文件所在的目錄,這是和vs啓動調試不同的地方。所以如果發佈的時候不把工作目錄內的東西拷到exe所在的目錄內,就會運行出錯,因爲此時工作目錄不再是vs中設置的了,而是exe文件所在的目錄。最後,說一下,vs中默認的vc++工程的工作目錄項目的值是空的,代表默認是vs工程所在目錄即.vcproj文件所在目錄。

(上面加粗部分摘抄)

將工作目錄從$(ProjectDir)改爲$(ProjectDir)Debug\即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章