安裝opencv
用Homebrew安裝opencv
brew install wget
brew install cmake
brew install opencv
?
?
看來都安裝過了hhh
通過下面命令再次檢測安裝的opencv版本
brew info opencv
?全部都打綠色的勾,應(yīng)該就是都安裝完了。
Vscode配置c/c++環(huán)境
配置cpp項目可以看下面鏈接:VScode C++環(huán)境配置 (MAC) - 知乎
首先安裝擴(kuò)展包
C/C++
CodeLLDB
然后創(chuàng)建一個cpp文件
#include <iostream>
using namespace std;
int main(){
cout << "hello world" << endl;
return 0;
}
?直接點擊調(diào)試,點擊運行調(diào)試
?選擇C++(GDB/LLDB)
?此處好像不太行。。。
改為安裝下面的依賴
然后調(diào)試就自動生成文件
?然后運行即可
把代碼改為以下內(nèi)容試試
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
int b = 1;
auto a = b;
cout << a << endl;
vector<string> msg{"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
int len = msg.size();
cout << "長度" << len << endl;
for (int i=0; i<5; i++){
// ms.push_back("a");
cout << i << endl;
}
return 0;
}
? 卻報錯
?原因是目前的編譯不支持C++11及以后的標(biāo)準(zhǔn)。感覺這種編譯方式還是有問題。
改為嘗試此鏈接:vsCode Mac版 配置C/C++,并運行代碼_mac vscode怎么運行c++代碼_水w的博客-CSDN博客
采用vscode調(diào)試運行,點擊右側(cè)的調(diào)試按鈕點擊運行和調(diào)試箭頭,選擇“run code”
?
?好像這樣運行更直接,試試加上opencv是否可行。
不行。。。
需要把下面三個文件存放在項目文件夾下面的?.vscode
?文件夾內(nèi)。
-
c_cpp_properties.json:
這個文件的作用是配置 vscode 配置整體的 C++ 的環(huán)境,就是要告訴?vscode IDE,我們有哪些需要進(jìn)行 include 的頭文件?.hpp
?和庫文件?.lib
,把這個理解為一個準(zhǔn)備工作。
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**",
"/usr/local/Cellar/opencv/4.5.3/lib/**",
"/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
],
// “includePath” 后面就是放的就是頭文件和庫文件所在的路徑,每個人的情況不同,可以把下面的路徑輸入進(jìn)去查找一下有沒有對應(yīng)的文件,以進(jìn)行確認(rèn)。
// 后面的兩個星號 ** 表示遞歸查找,就是查找目標(biāo)目錄的同時,該目錄下的子目錄也一并查找。
"defines": [],
"macFrameworkPath": [],
"compilerPath": "/usr/local/bin/gcc-11",
"cStandard": "gnu17",
"cppStandard": "gnu++17",
"intelliSenseMode": "macos-gcc-x64"
}
],
"version": 4
}
要查位置可以使用如下方式:
打開訪達(dá),然后搜索。
-
launch.json:
這個是 vscode 用于調(diào)試的配置文件,比如指定調(diào)試語言環(huán)境,指定調(diào)試類型等。這里最重要的是?"preLaunchTask"
?的設(shè)置,表示在運行這個調(diào)試之前,需要告訴編譯器哪些前置條件。其實也就是把?tasks.json
?關(guān)聯(lián)進(jìn)來。
{
// 使用 IntelliSense 了解相關(guān)屬性。
// 懸停以查看現(xiàn)有屬性的描述。
// 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++-11 - 生成和調(diào)試活動文件",
"type": "cppdbg",
"request": "launch",
// "program": "${fileDirname}/${fileBasenameNoExtension}",
"program": "/Users/guanweipeng/Desktop/project/main",
"args": [],
"stopAtEntry": false,
// "cwd": "${fileDirname}",
"cwd": "/Users/guanweipeng/Desktop/project",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "C/C++: g++-11 生成活動文件"
}
]
}
-
tasks.json:
這個文件是編譯的配置,設(shè)置你在編譯的過程中需要用到哪些庫文件和頭文件,用什么編譯器,用什么編譯方式等,都可以在這里進(jìn)行設(shè)置。這里的關(guān)鍵在于?"label"
?的設(shè)置一定要和 launch.json 中的?"preLaunchTask"
?一致!
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++-11 生成活動文件",
"command": "/usr/bin/clang++",
"args": [
"-std=c++17",//使用C++17
"-stdlib=libc++",
"-g",
"${file}",
"-o",
// "${fileDirname}/${fileBasenameNoExtension}",
"/Users/guanweipeng/Desktop/project/main",
"`pkg-config",
"--libs",
"--cflags",
"opencv4`"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "C/C++: g++-11 生成活動文件"
}
]
}
此次可以看到include opencv不會標(biāo)紅色
?然后再進(jìn)入工作區(qū)
的選項,找到?C/C++
?,然后右邊找到?C_Cpp > Default: Include Path
?,在里面添加頭文件和庫文件的路徑。
?
然后出現(xiàn)文件目錄如下:
?
setting里面的內(nèi)容為:
{
"C_Cpp.default.includePath": [
"/usr/local/Cellar/opencv/4.5.3/lib/",
"/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
]
}
?添加cpp標(biāo)準(zhǔn)
{
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.includePath": [
"/usr/local/Cellar/opencv/4.5.3/lib/",
"/usr/local/Cellar/opencv/4.5.3/include/opencv4/"
]
}
可以!
?
參考資料
【OpenCV4】fatal error: opencv2/core.hpp: No such file or directory 解決方法_AItrust的博客-CSDN博客
【OpenCV4】Mac 系統(tǒng)下使用 vscode 配置 c++ 版 OpenCV4.5.4 成功(2022年1月22日)_AItrust的博客-CSDN博客
mac vscode配置opencv-掘金文章來源:http://www.zghlxwxcb.cn/news/detail-495277.html
macOS版homebrew+VScode配置opencv(c/c++)親測可用_々云逸的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-495277.html
到了這里,關(guān)于實驗記錄之——mac用visual studio code配置opencv的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!