Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Undefined symbols for architecture i386 [solved]

Undefined symbols for architecture i386 [solved]

Scheduled Pinned Locked Moved Installation and Deployment
16 Posts 2 Posters 26.3k Views
  • 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.
  • H Offline
    H Offline
    Hedge
    wrote on last edited by
    #1

    I've got an old Mac Book Pro running 32 Bit MacOS and want to compile Jens' "desktop-components":http://labs.qt.nokia.com/2011/03/10/qml-components-for-desktop/ with it. Sadly everytime I try to I get the following error:

    @Undefined symbols for architecture i386:
    "StylePlugin::registerTypes(char const*)", referenced from:
    vtable for StylePluginin moc_qstyleplugin.o
    "StylePlugin::initializeEngine(QDeclarativeEngine*, char const*)", referenced from:
    vtable for StylePluginin moc_qstyleplugin.o
    "non-virtual thunk to StylePlugin::registerTypes(char const*)", referenced from:
    vtable for StylePluginin moc_qstyleplugin.o
    "non-virtual thunk to StylePlugin::initializeEngine(QDeclarativeEngine*, char const*)", referenced from:
    vtable for StylePluginin moc_qstyleplugin.o
    ld: symbol(s) not found for architecture i386
    collect2: ld returned 1 exit status@

    What can I do about this? This is the only Mac I possess.

    1 Reply Last reply
    0
    • G Offline
      G Offline
      goetz
      wrote on last edited by
      #2

      The object files are missing the 32 bit intel part of a universal binary. You can resolve this by adding this to components/styleitem/styleitem.pro:

      @
      macx:CONFIG += x86
      @

      Depending on what architectures you compile for, you might want to add one or more of this too:

      @
      macx:CONFIG += x86_64 # 64 bit intel
      macx:CONFIG += ppc # 32 bit PPC
      macx:CONFIG += ppc64 # 64 bit PPC

      #or combined in one line:
      macx:CONFIG += x86_64 ppc ppc64
      @

      If you want to exclude one/more of those architectures, replace "+=" by "-=".

      http://www.catb.org/~esr/faqs/smart-questions.html

      1 Reply Last reply
      0
      • H Offline
        H Offline
        Hedge
        wrote on last edited by
        #3

        Ok I added macx:CONFIG += x86 to styleitem.pro but the error is still the same.

        btw. Thanks for all your help Volker. I'll include you in the credits once I get this to fly.

        1 Reply Last reply
        0
        • G Offline
          G Offline
          goetz
          wrote on last edited by
          #4

          You should do this combo:

          @
          make clean
          qmake
          make
          make install # if needed
          @

          The makefiles do not catch up the change to the .pro and thus the libs are not rebuilt.

          http://www.catb.org/~esr/faqs/smart-questions.html

          1 Reply Last reply
          0
          • H Offline
            H Offline
            Hedge
            wrote on last edited by
            #5

            I did it and keep getting the same error while doing make.
            styleitem is a nested project.
            Do I have to add the macx:CONFIG += x86 line to the overlaying projects perhaps.

            1 Reply Last reply
            0
            • G Offline
              G Offline
              goetz
              wrote on last edited by
              #6

              It shouldn't harm. I had no problems compiling the plugins for my Qt libs. So this seems to be some weird combo of issues.

              Can you give some more details on your environment:

              • Qt version?
              • SDK or prebuilt binary framework or manually compiled libs?
              • Carbon or Cocoa?
              • output of "qmake -query"
              • output of "file /path/to/your/qt/libs-or-framworks/QtCore.framework/Versions/Current/QtCore (it shows you the architectures Qt is built for)
              • output of the compiler run (calling make), at least a snippet, to analyze the actual compiler calls

              http://www.catb.org/~esr/faqs/smart-questions.html

              1 Reply Last reply
              0
              • H Offline
                H Offline
                Hedge
                wrote on last edited by
                #7

                Qt version 4.7.3, manually compiled (there are no precompiled libs for Mac 32).

                I don't know how to determine whether Carbon or Cocoa is used.

                Output of qmake -query

                @QT_INSTALL_PREFIX:/usr/local/Trolltech/Qt-4.7.3
                QT_INSTALL_DATA:/usr/local/Trolltech/Qt-4.7.3
                QT_INSTALL_DOCS:/usr/local/Trolltech/Qt-4.7.3/doc
                QT_INSTALL_HEADERS:/usr/local/Trolltech/Qt-4.7.3/include
                QT_INSTALL_LIBS:/usr/local/Trolltech/Qt-4.7.3/lib
                QT_INSTALL_BINS:/usr/local/Trolltech/Qt-4.7.3/bin
                QT_INSTALL_PLUGINS:/usr/local/Trolltech/Qt-4.7.3/plugins
                QT_INSTALL_IMPORTS:/usr/local/Trolltech/Qt-4.7.3/imports
                QT_INSTALL_TRANSLATIONS:/usr/local/Trolltech/Qt-4.7.3/translations
                QT_INSTALL_CONFIGURATION:/Library/Preferences/Qt
                QT_INSTALL_EXAMPLES:/usr/local/Trolltech/Qt-4.7.3/examples
                QT_INSTALL_DEMOS:/usr/local/Trolltech/Qt-4.7.3/demos
                QMAKE_MKSPECS:/usr/local/Trolltech/Qt-4.7.3/mkspecs
                QMAKE_VERSION:2.01a
                QT_VERSION:4.7.3
                @

                Output of file QtCore:

                @file QtCore
                QtCore: Mach-O dynamically linked shared library i386
                @

                Output of make:

                @
                cd components/ && make -f Makefile
                cd styleitem/ && make -f Makefile
                rm -f libstyleplugin.dylib
                g++ -headerpad_max_install_names -arch i386 -single_module -dynamiclib -o libstyleplugin.dylib tmp/qrangemodel.o tmp/qstyleplugin.o tmp/qdeclarativefolderlistmodel.o tmp/qstyleitem.o tmp/moc_qrangemodel.o tmp/moc_qstyleplugin.o tmp/moc_qdeclarativefolderlistmodel.o tmp/moc_qstyleitem.o -F/usr/local/Trolltech/Qt-4.7.3/lib -L/usr/local/Trolltech/Qt-4.7.3/lib -framework QtDeclarative -L/usr/local/Trolltech/Qt-4.7.3/lib -F/usr/local/Trolltech/Qt-4.7.3/lib -framework QtScript -framework QtCore -framework QtSvg -framework QtGui -framework QtSql -framework QtXmlPatterns -framework QtNetwork
                Undefined symbols for architecture i386:
                "StylePlugin::registerTypes(char const*)", referenced from:
                vtable for StylePluginin moc_qstyleplugin.o
                "StylePlugin::initializeEngine(QDeclarativeEngine*, char const*)", referenced from:
                vtable for StylePluginin moc_qstyleplugin.o
                "non-virtual thunk to StylePlugin::registerTypes(char const*)", referenced from:
                vtable for StylePluginin moc_qstyleplugin.o
                "non-virtual thunk to StylePlugin::initializeEngine(QDeclarativeEngine*, char const*)", referenced from:
                vtable for StylePluginin moc_qstyleplugin.o
                ld: symbol(s) not found for architecture i386
                collect2: ld returned 1 exit status
                make[2]: *** [../plugin/libstyleplugin.dylib] Error 1
                make[1]: *** [sub-styleitem-make_default] Error 2
                make: *** [sub-components-make_default] Error 2
                @

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  Hedge
                  wrote on last edited by
                  #8

                  Now I've got the same shit with a 64 bit Mac but with the error-message:

                  @symbol(s) not found for architecture x86_64@

                  This is the compile output:

                  @Undefined symbols for architecture x86_64:
                  "StylePlugin::registerTypes(char const*)", referenced from:
                  vtable for StylePluginin moc_qstyleplugin.o
                  "StylePlugin::initializeEngine(QDeclarativeEngine*, char const*)", referenced from:
                  vtable for StylePluginin moc_qstyleplugin.o
                  "non-virtual thunk to StylePlugin::registerTypes(char const*)", referenced from:
                  vtable for StylePluginin moc_qstyleplugin.o
                  "non-virtual thunk to StylePlugin::initializeEngine(QDeclarativeEngine*, char const*)", referenced from:
                  vtable for StylePluginin moc_qstyleplugin.o
                  ld: symbol(s) not found for architecture x86_64@

                  I added macx:CONFIG += x86_64 to the pro-file but that didn't change anything.

                  EDIT: I finally found the reason why building the desktop components failed. For some reason two files of the desktop components were changed (I found out via a simple git status). Now it compiles fine on both Macs.

                  1 Reply Last reply
                  0
                  • G Offline
                    G Offline
                    goetz
                    wrote on last edited by
                    #9

                    [quote author="Hedge" date="1305379186"]
                    EDIT: I finally found the reason why building the desktop components failed. For some reason two files of the desktop components were changed (I found out via a simple git status). Now it compiles fine on both Macs.[/quote]

                    Ah! Good to know. Could be I cloned the already corrected version from gitorious. Usually Mac environments are not that different :-)

                    Good luck with your further development!

                    http://www.catb.org/~esr/faqs/smart-questions.html

                    1 Reply Last reply
                    0
                    • ? This user is from outside of this forum
                      ? This user is from outside of this forum
                      Guest
                      wrote on last edited by
                      #10

                      I have the same problem, the version of my Mac is 10.7, and when I compile the same message appears, have tried everything. Do you know any solution?!

                      Tks,

                      Tokunaga.

                      1 Reply Last reply
                      0
                      • ? This user is from outside of this forum
                        ? This user is from outside of this forum
                        Guest
                        wrote on last edited by
                        #11

                        I decided that....

                        TKS,

                        Tokunaga

                        1 Reply Last reply
                        0
                        • G Offline
                          G Offline
                          goetz
                          wrote on last edited by
                          #12

                          If you already tried everything, chances are bad that there are a solution. If you didn't..... it would be helpful if you told us what you've done.

                          http://www.catb.org/~esr/faqs/smart-questions.html

                          1 Reply Last reply
                          0
                          • ? This user is from outside of this forum
                            ? This user is from outside of this forum
                            Guest
                            wrote on last edited by
                            #13

                            Why Wolker??? Do u have a problem???

                            1 Reply Last reply
                            0
                            • G Offline
                              G Offline
                              goetz
                              wrote on last edited by
                              #14

                              [quote author="Tokunaga" date="1320012719"]Why Wolker??? Do u have a problem???[/quote]

                              Me? No. I think it's you having a problem. At least that's what you stated previously:

                              [quote author="Tokunaga" date="1319961219"]I have the same problem[/quote]

                              But it's hard to know what you did decide, though:

                              [quote author="Tokunaga" date="1319987713"]I decided that....

                              TKS,

                              Tokunaga[/quote]

                              Can you elaborate a bit more precisely?

                              http://www.catb.org/~esr/faqs/smart-questions.html

                              1 Reply Last reply
                              0
                              • ? This user is from outside of this forum
                                ? This user is from outside of this forum
                                Guest
                                wrote on last edited by
                                #15

                                Volker

                                somebody could solve this?
                                well, if you use a qt 4.7.4 on a Mac 32-bit it really appears, I checked other tutorials and talk to compile gcc libraries.
                                You know what really needs to be done? anyone have any solution?

                                1 Reply Last reply
                                0
                                • ? This user is from outside of this forum
                                  ? This user is from outside of this forum
                                  Guest
                                  wrote on last edited by
                                  #16

                                  Do you have msn or something??
                                  my email hxcx_dod@hotmail.com

                                  1 Reply Last reply
                                  0

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved