##環境
macOS
VScode
##実現したいこと
初歩中の初歩ですが、opencv.hppをリンクさせて、画像を表示できるようにしたいです。
今回自分はcmakeを使いました。こちらの記事を参考にさせていただきました。
c_cpp_properties.json、CMakeLists.txt、main.cppは以下になります。
{ "configurations": [ { "name": "Mac", "includePath": [ "${workspaceFolder}/**", "/usr/local/include/opencv4" ], "defines": [], "macFrameworkPath": [], "compilerPath": "/usr/local/bin/gcc-10", "cStandard": "c11", "cppStandard": "gnu++14", "intelliSenseMode": "clang-x64" } ], "version": 4 }
cmake_minimum_required(VERSION 3.17.3) set (CMAKE_CXX_STANDARD 11) project(opencv-test) add_executable(${PROJECT_NAME} src/main.cpp) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
#include <iostream> #include <opencv2/opencv.hpp> int main(){ cv::Mat img; img = cv::imread("nori_img1.jpg"); cv::imshow("title",img); cv::waitKey(0); return 0; }
また、makeコマンドを打つと
[ 50%] Linking CXX executable opencv-test Undefined symbols for architecture x86_64: "__ZN2cv6imreadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi", referenced from: _main in main.cpp.o "__ZN2cv6imshowERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11_InputArrayE", referenced from: _main in main.cpp.o ld: symbol(s) not found for architecture x86_64 collect2: error: ld returned 1 exit status make[2]: *** [opencv-test] Error 1 make[1]: *** [CMakeFiles/opencv-test.dir/all] Error 2 make: *** [all] Error 2
と表示され""の中身をググったら他の英語の質問サイトでリンカーフラグがなんとかって書いてあったのですが自分にはよくわからなかったです。""の中身をみたらimreadとかimshowとかあるのでmain.cpp内のそれらが効いてないんだろうなということは理解できたのですが。。長文になってしまいましたがお力添えいただけますと大変助かります。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー