Symbols not found for architecture x86_64 MacOS Yosemite
-
Log file for the code with videocapture .
16:21:02: Running steps for project opencv_test_qmake... 16:21:02: Starting: "/Users/apple/Qt6/6.1.1/clang_64/bin/qmake" /usr/local/lib/C++Project/Qt6/opencv_test_qmake/opencv_test_qmake.pro -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=qml_debug Info: creating stash file /usr/local/lib/C++Project/Qt6/build-opencv_test_qmake-Desktop_Qt_6_1_1_clang_64bit-Debug/.qmake.stash 16:21:03: The process "/Users/apple/Qt6/6.1.1/clang_64/bin/qmake" exited normally. 16:21:03: Starting: "/usr/bin/make" -f /usr/local/lib/C++Project/Qt6/build-opencv_test_qmake-Desktop_Qt_6_1_1_clang_64bit-Debug/Makefile qmake_all make: Nothing to be done for `qmake_all'. 16:21:03: The process "/usr/bin/make" exited normally. 16:21:03: Starting: "/usr/bin/make" -j8 /Users/apple/Qt6/6.1.1/clang_64/libexec/uic ../opencv_test_qmake/dialog.ui -o ui_dialog.h /Library/Developer/CommandLineTools/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++1z -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=11.0 -Wall -Wextra -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../opencv_test_qmake -I. -I../../../../include/opencv4 -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtWidgets.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtGui.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/mkspecs/macx-clang -F/Users/apple/Qt6/6.1.1/clang_64/lib -o main.o ../opencv_test_qmake/main.cpp /Library/Developer/CommandLineTools/usr/bin/clang++ -pipe -stdlib=libc++ -g -std=gnu++1z -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=11.0 -Wall -Wextra -dM -E -o moc_predefs.h /Users/apple/Qt6/6.1.1/clang_64/mkspecs/features/data/dummy.cpp /Library/Developer/CommandLineTools/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++1z -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=11.0 -Wall -Wextra -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../opencv_test_qmake -I. -I../../../../include/opencv4 -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtWidgets.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtGui.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/mkspecs/macx-clang -F/Users/apple/Qt6/6.1.1/clang_64/lib -o dialog.o ../opencv_test_qmake/dialog.cpp /Users/apple/Qt6/6.1.1/clang_64/libexec/moc -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /usr/local/lib/C++Project/Qt6/build-opencv_test_qmake-Desktop_Qt_6_1_1_clang_64bit-Debug/moc_predefs.h -I/Users/apple/Qt6/6.1.1/clang_64/mkspecs/macx-clang -I/usr/local/lib/C++Project/Qt6/opencv_test_qmake -I/usr/local/include/opencv4 -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtWidgets.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtGui.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1 -I/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/usr/include -F/Users/apple/Qt6/6.1.1/clang_64/lib ../opencv_test_qmake/dialog.h -o moc_dialog.cpp /Library/Developer/CommandLineTools/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++1z -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=11.0 -Wall -Wextra -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../opencv_test_qmake -I. -I../../../../include/opencv4 -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtWidgets.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtGui.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I/Users/apple/Qt6/6.1.1/clang_64/mkspecs/macx-clang -F/Users/apple/Qt6/6.1.1/clang_64/lib -o moc_dialog.o moc_dialog.cpp /Library/Developer/CommandLineTools/usr/bin/clang++ -stdlib=libc++ -headerpad_max_install_names -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=11.0 -Wl,-rpath,@executable_path/../Frameworks -Wl,-rpath,/Users/apple/Qt6/6.1.1/clang_64/lib -o opencv_test_qmake.app/Contents/MacOS/opencv_test_qmake main.o dialog.o moc_dialog.o -F/Users/apple/Qt6/6.1.1/clang_64/lib -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_features2d -lopencv_highgui -lopencv_calib3d -lopencv_imgcodecs -framework QtWidgets -framework QtGui -framework AppKit -framework ImageIO -framework Metal -framework QtCore -framework DiskArbitration -framework IOKit -framework AGL -framework OpenGL Undefined symbols for architecture x86_64: "cv::VideoCapture::open(int, int)", referenced from: _main in main.o "cv::VideoCapture::VideoCapture()", referenced from: _main in main.o "cv::VideoCapture::~VideoCapture()", referenced from: _main in main.o "cv::VideoCapture::operator>>(cv::Mat&)", referenced from: _main in main.o "cv::VideoCapture::isOpened() const", referenced from: _main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [opencv_test_qmake.app/Contents/MacOS/opencv_test_qmake] Error 1 16:21:06: The process "/usr/bin/make" exited with code 2. Error while building/deploying project opencv_test_qmake (kit: Desktop Qt 6.1.1 clang 64bit) When executing step "Make" 16:21:06: Elapsed time: 00:04.
-
-
Thanks.
How did you find it?
How should I find future libraries to include? -
@saeedBaba said in Symbols not found for architecture x86_64 MacOS Yosemite:
How did you find it?
From the include file name. This is very OpenCV specific, maybe there is some documentation/explanation in that project.
-
@jsulm said in Symbols not found for architecture x86_64 MacOS Yosemite:
opencv2/videoio.hpp
What I am asking is that, do you just google
opencv2/videoio.hpp
or there is a documentation link you look into?
-
@saeedBaba I googled for cv::VideoCapture and got https://docs.opencv.org/3.4/d8/dfe/classcv_1_1VideoCapture.html where you can see the include:
#include <opencv2/videoio.hpp>
And in case of OpenCV it looks like a header file corresponds to a lib: videoio.hpp -> opencv_videoio
But this is so in case of OpenCV, not necesserily every lib out there!Qt does it more clear: it tells you what to add to pro file to use a class. For example in https://doc.qt.io/qt-5/qwidget.html you can see:
QT += widgets
-
@jsulm said in Symbols not found for architecture x86_64 MacOS Yosemite:
https://docs.opencv.org/3.4/d8/dfe/classcv_1_1VideoCapture.html
but this link does not mention anything about -lopencv_videoio
How did you find that? -
@saeedBaba Again: I deduce the lib name from the include file.
#include <opencv2/videoio.hpp>
So, header file name is videoio.hpp, lib name is opencv_videoio
-
Hi there
I need to install opencv on qt on windows device. I was wondering if you could give me a link to an instruction or tutorial, preferably one that foes not need to alter Cmake since I have had download issues with cmake before.
Thanks
-
@saeedBaba Official documentation is here: https://docs.opencv.org/3.4/d3/d52/tutorial_windows_install.html
You should consider asking in an OpenCV forum if you have problems building it, as OpenCV has nothing to do with Qt.