CMake 編譯 OpenCV 項目,不是編譯OpenCV, 用了之后才知道CMake也太好用了。

新建一個 CMakeList.txt
復制下面代碼,并保存

cmake_minimum_required (VERSION 3.0)PROJECT(Chapter2)set (CMAKE_CXX_STANDARD 11)IF(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)conan_basic_setup()
ENDIF()# Requires OpenCV
set(OpenCV_DIR D:/opencv/build/x64/vc15/lib)
FIND_PACKAGE( OpenCV REQUIRED )
MESSAGE("OpenCV version : ${OpenCV_VERSION}")ADD_EXECUTABLE( sample1 sample1.cpp )
TARGET_LINK_LIBRARIES( sample1 ${OpenCV_LIBS} ${CONAN_LIBS} -lprotobuf ) ADD_EXECUTABLE( sample2 sample2.cpp )
TARGET_LINK_LIBRARIES( sample2 ${OpenCV_LIBS} ${CONAN_LIBS} -lprotobuf)ADD_EXECUTABLE( sample3 sample3.cpp )
TARGET_LINK_LIBRARIES( sample3 ${OpenCV_LIBS} ${CONAN_LIBS} -lprotobuf)ADD_EXECUTABLE( ${PROJECT_NAME} main.cpp )
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${OpenCV_LIBS} ${CONAN_LIBS} -lprotobuf)

然后就新建一下文件夾(你的工程名),當然,你不建也是可以的。只是方便自己管理工程
并把CMakeList.txt復制到文件夾下我的文件夾是D:\Chapter2

其中
sample1.cpp
sample2.cpp
sample3.cpp
main.cpp
是你的C++的程序

接下來就是編譯了。
打開CMD
cd到D:\Chapter2文件夾后就可以到下面的命令了

mkdir build
cd build
cmake .. -G "Visual Studio 15 2017 Win64"

然后等待就可以了。

可能出現的錯誤:
1,出來 Required OpenCV but cannot find one. 類似的這種解決就是路徑沒有設置好。CMakeLists里的set(OpenCV_DIR D:/opencv/build/x64/vc15/lib) 這個就是你要設置的opencv的路徑,不能設置到D:/opencv/build,不然還是會繼續報 no binary的錯。
2020-03-31 更新,如果把opencv的路徑添加到了系統的環境變量,可以不用在cmakelist 設置opencv的路徑了。

2,編譯成功后,但是打開工程,卻會報 模塊計算機類型x64與目標計算機類型X86沖突。
這種是直接在編譯的時候 cmake … , 這樣就會x86的編譯器編譯了。 所以要用 cmake … -G “Visual Studio 15 2017 Win64”,看你自己的Visual Studio 的版本,就用自己的版本,我的是2017的。

3,如果編譯成功后。打開你的工程,然后編譯成功后,還可能報 “無法啟動程序 debug\ALL_BUILD 拒絕訪問”,可以把ALL_BUILD刪除了。或者把啟動項目更改為你的項目(如下圖)。再嘗試一下。應該可以的了。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260911.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260911.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260911.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java Ajax jsonp 跨域請求

2019獨角獸企業重金招聘Python工程師標準>>> 1. 什么是JSONP 一般來說位于 server1.example.com 的網頁無法與不是 server1.example.com的服務器溝通&#xff0c;而 HTML 的<script> 元素是一個例外。利用 <script> 元素的這個開放策略&#xff0c;網頁…

對IEnumerableT,IDictionaryTkey,TValue,ICollectionT,IListT的總結

1、IEnumerable<T>接口和IEnumerable接口 實現了IEnumerable接口的集合表明該集合能夠提供一個enumerator(枚舉器)對象&#xff0c;支持當前的遍歷集合。IEnumerable接口只有一個成員GetEnumerator()方法。 IEnumerator接口實現了IEnumerator接口的集合實現了從一個元素到…

Backup--修改實例級別是否使用壓縮備份的默認值

-- --修改實例級別是否使用壓縮備份的默認值 USE master; GO EXEC sp_configure backup compression default, 1; RECONFIGURE WITH OVERRIDE;轉載于:https://www.cnblogs.com/TeyGao/p/3519952.html

Java學習——Java運算符

位運算符 A 0011 1100 B 0000 1101 ----------------- A&b 0000 1100 A | B 0011 1101 A ^ B 0011 0001A << 2 1111 0000A >>> 2 0000 1111 ~A 1100 0011 例子 package import_test;public class Employee {public static void main(String args[])…

學習Python中用numpy與matplotlib遇到的一些數學函數與函數的繪圖

學習Python中的一些數學函數與函數的繪圖 主要用到numpy 與 matplotlib 如果有什么不正確&#xff0c;歡迎指教。 圖片不知道怎樣批量上傳&#xff0c;一個一個怎么感覺很小&#xff0c;請見諒 自行復制拷貝&#xff0c;到vs&#xff0c;jupyter notebook, spyder都可以 函…

控制臺輸出

getchar() system("pause") getch()//<conio.h>轉載于:https://www.cnblogs.com/lzihua/archive/2012/03/29/2422988.html

Linux基礎之文件權限詳解

Linux中對于權限的制定雖然沒有Windows的那么精細&#xff0c;但是如果你了解并掌握Linux中文件的權限知識&#xff0c;也可以像Windows那樣對權限做到精確配置。Linux中的文件權限是什么&#xff1f;如何查看Linux中的文件權限[rootlocalhost test]# ll -d /test/drwxr-xr-x. …

有這個OCR程序,不用再買VIP了,Python 調用百度OCR API

最近學習&#xff0c;很多東西都是視頻&#xff0c;截圖后&#xff0c;又想做成文檔保存起來。 剛開始不多&#xff0c;打一下字就很快解決了。 隨著時間的推移&#xff0c;現在越來越多的圖了&#xff0c;管理起來確實不方便&#xff0c;打字有時也不能很快的解決。 所以就…

android apk如何入門

android自己摸索了6,7個月不知道算不算入門&#xff01;對了只是應用層apk! 說說我的情況&#xff01;有C語言基礎&#xff0c;沒有接觸過JAVA語言。 1.先找視頻教程看&#xff0c;mars老師的&#xff01;不要理會java語言&#xff01;4季一氣看完&#xff01; 看了這個視頻教程…

linux常用命令_Linux常用命令全稱

從事IT行業的很多人都會使用Linux常用命令&#xff0c;但是知道這些常用命令全稱的人并不多&#xff0c;讓我們來看看這些常用命令對應的全稱吧&#xff01;必備Linux命令和C語言基礎_C語言_嵌入式開發工程師-創客學院?www.makeru.com.cnpwd:print work directory 打印當前目錄…

存儲程序(1)——MYSQL

MySQL支持把幾種對象存放在服務器端供以后使用。這幾種對象有一些可以根據情況通過程序代碼調用&#xff0c;有一些會在數據表被修改時自動執行&#xff0c;還有一些可以在預定時刻自動執行。它們包括以下幾種: 1.存儲函數(stored function)。返回一個計算結果&#xff0c;該結…

闖過這 54 關,點亮你的 Git 技能樹 (五) - 完結篇

這是一個系列文章&#xff0c;介紹學習 Git 的一個小游戲 - githug&#xff0c;如果你是第一次看到&#xff0c;請先閱讀&#xff1a;闖過這 54 關&#xff0c;點亮你的 Git 技能樹闖過這 54 關&#xff0c;點亮你的 Git 技能樹&#xff08;一&#xff09;闖過這 54 關&#xf…

Jupyter notebook 不安裝主題,通過修改css更改 默認字體,字體大小等

目標&#xff1a; Jupyter notebook 又不想改更主題的的情況下&#xff0c;可以通過修改css的目的來達到修改默認的字體&#xff0c;字號心達到可以好的閱讀效果。 方法 要修改的css文件目錄如下&#xff0c; D:\Anaconda\Lib\site-packages\notebook\static\custom 這個就是…

項亮 陳義 王益《推薦系統實踐》

最近很多讀者關注《推薦系統實踐》一書&#xff0c;詢問本書目前的寫作進展和出版時間。自今日起&#xff0c;本書正式進入開放出版流程&#xff0c;作者會全程在本社區中互動&#xff0c;與大家分享寫做過程中的點滴。 技術背景 推薦系統從1994年開始&#xff0c;經過Amazon&a…

堅果nuts 加速 官網_【喂你播】堅果手機2020新品發布會來了;三星定向華為手機推以舊換新...

周五喂diu 不只有你們愛的女主播 還有小編呢BGM&#xff1a;Make You Hustle-Croatia Squad堅果手機2020新品發布會來了堅果手機正式宣布&#xff1a;堅果手機2020新品發布會將于10月20日19:30在五棵松M空間舉行。根據此前爆料&#xff0c;堅果手機新品或命名為堅果Pro4&#x…

不可不知的Oracle常用技巧

不可不知的Oracle常用技巧 表復制 1.方法一&#xff1a;復制表結構和數據 create table temp_clientloginuser as select distinct userid from tbuserloginlog; 2.方法二&#xff1a;僅復制數據 -- 如果表結構一樣 insert into mytable select * from yourtable; -- 如果表結構…

圖像處理核函數:之高斯核的生成方法 python

圖像處理核函數&#xff1a;之高斯核函數的生成方法 python高斯核函數&#xff08;低通高斯濾波器核&#xff09;高斯分布函數高斯核生成函數代碼效果高斯核函數的圖像高斯核函數&#xff08;低通高斯濾波器核&#xff09; 最近在看DIP&#xff08;Digital Image Processing)&…

WEB-INFO/lib build path 的jar包問題

為什么80%的碼農都做不了架構師&#xff1f;>>> 一、build path&WEB-INFO/lib介紹 build path&#xff1a;可以說是引用&#xff1b; WEB-INFO/lib&#xff1a;可以說是固定在一個地方&#xff1b; eclipse編譯項目的時候是根據build path的&#xff0c;如果…

Windows phone 7之頁面布局

Windows phone的頁面布局方式一般是依賴布局控件實現的&#xff0c;而布局控件有三種Grid&#xff0c;StackPanel和Canvas Grid是網格布局方式&#xff0c;相當于一個表格&#xff0c;有行和列&#xff0c;新建一個Windows phone項目&#xff0c;打開MainPage.xaml&#xff0c;…

蘋果電腦刪除軟件_軟件自動開啟很煩人?如何徹底關掉開機自動開啟的應用程序...

使用Mac的小伙伴有沒有這樣的煩惱&#xff0c;電腦一開機&#xff0c;一堆煩人的軟件就自動開啟了&#xff0c;讓人很懊惱&#xff0c;如何才能徹底關掉開機自動開啟的應用程序&#xff1f;mac開機啟動項怎么設置&#xff1f;開機啟動項要怎么禁止&#xff1f;今天就帶大家解決…