1. 程式人生 > >VS2013開啟改變路徑之後的解決方案(含opencv以及屬性表)

VS2013開啟改變路徑之後的解決方案(含opencv以及屬性表)

最近遇到這樣的一個問題,我將一個C++解決方案(用到opencv庫,並添加了屬性表)的整個資料夾複製到另外一個路徑下面,在用VS2013開啟.sln的時候遇到了一些問題。

下面是具體的情況:

在遇到這個問題的時候,我先是寫了一個最簡單的程式進行測試:

1、對於最最普通的情況,我新建一個VS工程,在main.cpp寫下如下的程式碼:

#include<iostream>

using namespace std;

int main()
{
	cout << "Hello!I am Li Chenyang!" << endl;
}
成功執行之後,我將整個解決方案的資料夾複製到另外的路徑下,並用VS2013開啟新路徑下的.sln,成功開啟,並可以正常編譯執行。這說明,在這種情況下,改變解決方案資料夾的路徑不影響VS2013對.sln的開啟,這個時候,我漸漸意識到,由於使用opencv庫而新增的opencv_3.1.props才是真正的“罪魁禍首”!

2、進而,我繼續嘗試了另外一個簡單的程式:

#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
	Mat img;
}
與上面的不同之處在於,這裡用到了opencv庫,需要對VS2013進行相應的配置,所以我在屬性管理器中為專案test2添加了一個現有的屬性表opencv_3.1.props,這個現有的屬性表裡面是一些關於opencv庫的配置,具體的可以參考我上面提到的博文。

成功執行之後,我將整個解決方案的資料夾複製到另外的路徑下,並用VS2013開啟新路徑下的.sln,

這個時候便出錯了:錯誤如下,

大概的原因是由於在專案中添加了屬性表,而改變了路徑之後找不到屬性表了。

來到這一步,解決方法就很明確了,首先,如果需要改變路徑的解決方案中含有新新增的屬性表,那麼在改變路徑之前,先將新新增的屬性表移除,然後再賦值資料夾到新的路徑,在新路徑下開啟.sln檔案,然後重新為解決方案新增屬性表,這樣就不會出現找不到屬性表的情況了。

雖然這只是我最近遇到的情況,打不開解決方案可能還有其他許多的原因,但還是希望能對朋友們有所幫助!

------------------------------------------------------------------------------------------------

*****************************************************************************

------------------------------------------------------------------------------------------------

補充於2016.9.20

今天再次遇到由於屬性表問題而打不開.sln檔案的事情,重新回顧了之前的思路,感覺上面寫的有一些囉嗦。

上面寫了那麼多,關鍵就在於屬性表opencv_3.1.props並沒有位於test2專案的資料夾下面,如果新增的屬性表存在於專案資料夾下面,無論如何複製test2專案資料夾,都可以直接開啟.sln。

其實,關於屬性表的路徑,是以相對路徑的形式,記錄在與專案同名的.vcxproj(如:test2.vcxproj)檔案裡面。由於記錄的是相對路徑,所以如果新增的屬性表不在專案資料夾下面的話,更換專案資料夾的路徑之後,依照該相對路徑顯然已經找不到屬性表,所以自然就報錯了。

最最簡單的辦法就是直接開啟.vcxproj檔案,將裡面import該屬性表的語句去掉,然後就能夠開啟.sln檔案了。

當然,要成功編譯,還得重新新增屬性表。


相關推薦

VS2013開啟改變路徑之後解決方案opencv以及屬性

最近遇到這樣的一個問題,我將一個C++解決方案(用到opencv庫,並添加了屬性表)的整個資料夾複製到另外一個路徑下面,在用VS2013開啟.sln的時候遇到了一些問題。 下面是具體的情況: 在遇到這個問題的時候,我先是寫了一個最簡單的程式進行測試: 1、對於最最普通的情

小技巧,使用低版本的VS開啟高版本的解決方案使用VS2008開啟VS2010的解決方案--同樣適用於其他版本

看後,我突發靈感,將該工程的解決方案檔案的字尾由xxx.sln改成了xxx.txt然後,檢視其內容如下: Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio 2010 Project("{FAE04EC0-301

死鎖及其解決方案避免、預防、檢測

所謂死鎖:是指兩個或兩個以上的程序在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖 死鎖產生的原因? 1.因競爭資源發生死鎖 現象:系統中供多個程序共享的資源的數目不足以滿足全部程序的需要時,就會引起對

智慧小區解決方案IPTV、監控、語音、物業管理系統和智慧傢俱產品

工作中有個客戶需要出一個智慧小區的解決方案,小菜在這裡做一個小記錄,感謝各位看官的光臨和CSDN平臺的支援。 解決的問題 問題1:網路質量不能保證 手機、電視上網、看視訊掉線、網速不穩定、高峰時段卡頓 深圳市奧捷迅科技  問題2:服務同質化 1、一般只提供寬

IntelliJ IDEA 亂碼解決方案 專案程式碼、控制檯等

最近IDE從eclipse改成IntelliJ IDEA 了,原因是公司大部分人都在用這個IDE,而且一直推薦用,所以嚐嚐鮮。換的第一天,就遇到了哪個IDE都會遇到的亂碼問題,耗費了好多時間最終解決了,因此在這邊記錄一下解決方案,以供後面參考。 總共有下面幾種亂碼的解決

關於YiII框架的擴充套件memcache中set設定時間就get查詢失效的解決方案版本是1.1.20

0x01 前言 在使用Yii框架的擴充套件memcache快取的時候,儲存資料有一個set方法,來看一下set方法的原型: public boolean set(string $id, mixed $value, integer $expire=0, ....) 第

Caffe 工程的一些編譯錯誤以及解決方案undefined reference to cv::imread

原文連結:http://blog.csdn.net/yhl_leo/article/details/51371936 在編譯caffe時遇到了該博文的第二種情況,改正後可以正確執行: (注意根據電腦情況可使用make all -j16) 整理一下最近遇到caffe工程

針對MyISAM鎖解決方案也可應用於鎖定

最近伺服器上經常出現mysql程序佔CPU100%的情況,使用show processlist命令後,看到出現了很多狀態為LOCKED的sql。使用show status like ‘table%’檢查Table_locks_immediate和Table_locks_wa

8000401a錯誤解決方案Word應用程式無法訪問

前一陣子做開發需要用到Excel和Word程式設計,本人用的是Vista系統,開發環境是VS2005和Office2007,測試無任何問題,可是到部署的時候出現了一些令人很頭痛的問題,老是會出現例如: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-00

取數據超過內存限制的問題-解決方案sample,takeSample,filter

cau red 所有 cep 調用 ext log 源碼 rsa 遇到的問題 在處理數據過程中,遇到需要取(n)個數的問題,而當樣本量過大的時候,就不能簡單的take(n),這類問題一般有兩種情況: > - 有序取 TopN > - 無序取 N 先來討論無

Retrofit2初嘗問題彙總及解決方案Dagger2

First: No Retrofit annotation found. (parameter #2) Second: java.lang.IllegalArgumentExcep

新浪微博開放平臺OAuth授權解決方案程式碼

 前幾日一位朋友專案中需要使用新浪微博的介面,故和這位朋友一同研究了新浪微博開放平臺上面所提供的資料,首先要使用這些介面是需要使用者登入並且授權的,新浪微博開放平臺其實是提供兩種授權方式的,第一種是:OAuth授權方式,第二種是:HTTP普通鑑權方式,

svn圖示不顯示的解決方案第四個好辦法

最近發現svn圖示莫名其妙的不顯示,其他操作都正常。在網上搜了一些方法。 解決方法一(失敗): 升級最新版本,我的本來就是最新版本 解決方法二(失敗): 右鍵->TortoiseSVN->setting->Icon Overlays->Status cache->default

jQuery ajax在GBK編碼下單提交終極解決方案非二次編碼方法

  前言: 當jquery ajax在utf-8編碼下(頁面utf-8,接收utf-8),無任何問題。可以正常post、get,處理頁面直接獲取正確的內容。 但在以下情況下: GBK -> AJAX POST ->GBK UTF-8 -> AJAX POS

ibatis遷移mybatis詳細方案指令碼和注意事項

小小的宣告:該文章已優先發在阿里內網部落格 ibatis已成過去式,官方早已不再維護,使用ibatis的老應用遷移到mybatis很有必要,且好用的服務層框架springboot集成了mybatis,支援維護良好,更加說明了遷移到mybatis的重要性,下

微信中無法下載APP的解決方案微信自動跳轉瀏覽器開啟下載連結

現在微信分享的功能很多,從分享的連結下載apk安卓包是很正常的,但是微信不讓下載apk包,只能通過瀏覽器來下載,但是這要給使用者一個提示吧,不然使用者不知道 下面我們來實現,使用者通過微信點選跳轉瀏覽器來下載apk包 操作步驟 月牙跳轉是一款基於微信後端開發了一款微信營銷下載推廣助手,使

VS低版本開啟高版本解決方案如08開啟10、12、13版本vs編譯的專案

一、vs2005開啟vs2008編譯的專案:1、用記事本開啟sln檔案,將: Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 改成: Microsoft Visu

go語言,第三方包相對路徑匯入包引起的問題及解決方案goquery

對go語言而言,跟蹤init很顯然包有且僅有一次被匯入的可能。 但是重複引用了goquery包,後編譯出現問題  專案涉及相關目錄 ├── main.go└── parse    └── parse.go parse包和main.go都匯入了 goquery包 main

Java Web專案的檔案路徑問題的完整解決方案WAR包

J2EE專案在生產環境中,通常以WAR,EAR包等形式部署在伺服器上,在Websphere Application Server(WAS)伺服器上部署應用時,有時專案需要獲取檔案的物理路徑,但是WAR包部署時,在tomcat和WAS下部署有很大的差別:tomcat會把WAR包

JS改變input的value值不觸發onchange事件解決方案超簡版

監聽js改變input的值觸發的onchange事件  $("#inpstart").attr("value",$("#inpend")[0].value); 當 我們像上面這樣給一個input賦值時,由於onchange時間對input框不起作用,大家首先會想到使用