Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct

    Unsolved Symbols not found in architecture x86_64

    General and Desktop
    2
    7
    2239
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Trav
      Trav last edited by

      ERROR OUTPUT IN APPLICATION:
      :-1: error: symbol(s) not found for architecture x86_64:-
      1: error: linker command failed with exit code 1 (use -v to see invocation)

      Im desperately trying to get my code running this is an integration with openCV , could someone please help explain these errors to me or why my code doesn't work? thanks in advance; I'm using opencv 3.1.0

      #include "mainwindow.h"
      #include <QApplication>
      #include <opencv2/core/core.hpp>
      #include <opencv2/highgui/highgui.hpp>
      #include <opencv2/videoio/videoio.hpp>
      #include<opencv2/objdetect/objdetect.hpp>
      #include<opencv2/imgproc/imgproc.hpp>
      #include<vector>
      #include<string>
      
      #include <iostream>
      #include<stdio.h>
      
      using namespace cv;
      using namespace std;
      
      CascadeClassifier face_cascade;
      
      
      
      void detectFaces(Mat frame) {
      
        vector<Rect> faces;
        Mat frame_gray;
        cvtColor(frame, frame_gray, COLOR_BGR2GRAY);  // Convert to gray scale
        equalizeHist(frame_gray, frame_gray);   	// Equalize histogram
      
        // Detect faces
        face_cascade.detectMultiScale(frame_gray, faces, 1.1, 3,
                      0|CASCADE_SCALE_IMAGE, Size(30, 30));
      
        // Iterate over all of the faces
        for( size_t i = 0; i < faces.size(); i++ ) {
      
          // Find center of faces
          Point center(faces[i].x + faces[i].width/2, faces[i].y + faces[i].height/2);
      
          // Draw ellipse around face
          ellipse(frame, center, Size(faces[i].width/2, faces[i].height/2),
              0, 0, 360, Scalar( 255, 0, 255 ), 4, 8, 0 );
        }
      
        imshow( "window",frame);  // Display frame
      }
      
      
      
      
      int main(int argc, char *argv[]){
          QApplication a(argc, argv);
          MainWindow w;
       // cam code
      try{
      
      
              VideoCapture cap(0);        // Open default camera
                Mat frame;
      
                // Load preconstructed classifier
                face_cascade.load("haarcascade_frontalface_alt.xml");
      
                while(cap.read(frame)) {
                  detectFaces(frame);       // Call function to detect faces
                  if( waitKey(30) >= 0)     // Pause key
                      break;
                }
      }catch(Exception ex){
      std::cout << "Unable to initiate camera" << std::endl;
          }
          //end cam code
      
      
      
          w.show();
      return a.exec();
      }
      
      
      
      
      1 Reply Last reply Reply Quote 0
      • SGaist
        SGaist Lifetime Qt Champion last edited by

        Hi,

        What symbols are missing ?

        Are you sure you have linked to all the necessary libs ?

        Are they of the correct architecture ?

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply Reply Quote 0
        • Trav
          Trav last edited by

          This is my PRO file below, thanks for your reply; Im not quite sure i really don't understand whats going on, I have been able to get the live camera feed from my code but when implementing the face detection in openCV I am getting this issue .pro file as follows:

          #-------------------------------------------------
          #
          # Project created by QtCreator 2016-05-25T01:38:34
          #
          #-------------------------------------------------
          
          QT       += core gui
          
          greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
          
          TARGET = Origin
          TEMPLATE = app
          
          
          SOURCES += main.cpp\
                  mainwindow.cpp
          
          
          LIBS += \
          -L/usr/local/lib \
          -lopencv_core \
          -lopencv_highgui \
          -lopencv_videoio \
          -lopencv_objdetect
          
          
          INCLUDEPATH += \
              /usr/local/include
          
          HEADERS  += mainwindow.h
          
          FORMS    += mainwindow.ui
          
          
          1 Reply Last reply Reply Quote 0
          • SGaist
            SGaist Lifetime Qt Champion last edited by

            Looks fine but again: what symbols are missing ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply Reply Quote 0
            • Trav
              Trav last edited by

              Symbols in what context? Im fairly new to Qt apologies for being a little slow in advance but this is my compile output:
              If you are asking a specific question ill gladly get the info needed if you could just show me where i can find this, thanks again for your help

              16:32:52: Running steps for project Origin...
              16:32:52: Configuration unchanged, skipping qmake step.
              16:32:52: Starting: "/usr/bin/make" 
              /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.7 -Wall -W -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../Origin -I. -I/usr/local/include -I../../Qt/5.6/clang_64/lib/QtWidgets.framework/Headers -I../../Qt/5.6/clang_64/lib/QtGui.framework/Headers -I../../Qt/5.6/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I../../Qt/5.6/clang_64/mkspecs/macx-clang -F/Users/travishaycock/Qt/5.6/clang_64/lib -o main.o ../Origin/main.cpp
              /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -stdlib=libc++ -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.7 -Wl,-rpath,/Users/travishaycock/Qt/5.6/clang_64/lib -o Origin.app/Contents/MacOS/Origin main.o mainwindow.o moc_mainwindow.o   -F/Users/travishaycock/Qt/5.6/clang_64/lib -L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_videoio -lopencv_objdetect -framework QtWidgets -framework QtGui -framework QtCore -framework OpenGL -framework AGL 
              Undefined symbols for architecture x86_64:
                "cv::equalizeHist(cv::_InputArray const&, cv::_OutputArray const&)", referenced from:
                    detectFaces(cv::Mat) in main.o
                "cv::ellipse(cv::_InputOutputArray const&, cv::Point_<int>, cv::Size_<int>, double, double, double, cv::Scalar_<double> const&, int, int, int)", referenced from:
                    detectFaces(cv::Mat) in main.o
                "cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)", referenced from:
                    detectFaces(cv::Mat) 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: *** [Origin.app/Contents/MacOS/Origin] Error 1
              16:32:55: The process "/usr/bin/make" exited with code 2.
              Error while building/deploying project Origin (kit: Desktop Qt 5.6.0 clang 64bit)
              When executing step "Make"
              16:32:55: Elapsed time: 00:03.
              
              1 Reply Last reply Reply Quote 0
              • SGaist
                SGaist Lifetime Qt Champion last edited by

                That's nothing Qt specific, it's standard C++.

                You are not linking to the OpenCV module that provides these symbols. For example equalizeHist comes from imgproc

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply Reply Quote 0
                • Trav
                  Trav last edited by

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post