LINUX.ORG.RU

Как избавиться от ошибке при компиляции плагина qt creator?

 ,


0

1

XUbuntu QT Creator ом создал проект с файлом (ничего не сочинял)

    <pre>
    #
    # qmake configuration for win32-g++
    #
    # Written for MinGW
    #

    MAKEFILE_GENERATOR    = MINGW
    TEMPLATE        = app
    CONFIG            += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
    QT            += core gui
    DEFINES            += UNICODE QT_LARGEFILE_SUPPORT
    QMAKE_COMPILER_DEFINES  += __GNUC__ WIN32

    QMAKE_EXT_OBJ           = .o
    QMAKE_EXT_RES           = _res.o

    QMAKE_CC        = gcc
    QMAKE_LEX        = flex
    QMAKE_LEXFLAGS        =
    QMAKE_YACC        = byacc
    QMAKE_YACCFLAGS        = -d
    QMAKE_CFLAGS        =
    QMAKE_CFLAGS_DEPS    = -M
    QMAKE_CFLAGS_WARN_ON    = -Wall
    QMAKE_CFLAGS_WARN_OFF    = -w
    QMAKE_CFLAGS_RELEASE    = -O2
    QMAKE_CFLAGS_DEBUG    = -g
    QMAKE_CFLAGS_YACC    = -Wno-unused -Wno-parentheses

    QMAKE_CXX        = i586-mingw32msvc-g++
    QMAKE_CXXFLAGS        = $$QMAKE_CFLAGS
    QMAKE_CXXFLAGS_DEPS    = $$QMAKE_CFLAGS_DEPS
    QMAKE_CXXFLAGS_WARN_ON    = $$QMAKE_CFLAGS_WARN_ON
    QMAKE_CXXFLAGS_WARN_OFF    = $$QMAKE_CFLAGS_WARN_OFF
    QMAKE_CXXFLAGS_RELEASE    = $$QMAKE_CFLAGS_RELEASE
    QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
    QMAKE_CXXFLAGS_YACC    = $$QMAKE_CFLAGS_YACC
    QMAKE_CXXFLAGS_THREAD    = $$QMAKE_CFLAGS_THREAD
    QMAKE_CXXFLAGS_RTTI_ON    = -frtti
    QMAKE_CXXFLAGS_RTTI_OFF    = -fno-rtti
    QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
    QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions

    QMAKE_INCDIR        =
    QMAKE_INCDIR_QT        = $$[QT_WIN_INCLUDE_PATH]
    QMAKE_LIBDIR_QT        = $$[QT_WIN_LIB_PATH]

    QMAKE_RUN_CC        = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
    QMAKE_RUN_CC_IMP    = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
    QMAKE_RUN_CXX        = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
    QMAKE_RUN_CXX_IMP    = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

    QMAKE_LINK        = i586-mingw32msvc-g++
    QMAKE_LINK_C        = gcc
    QMAKE_LFLAGS        = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import \
       -Wl,-enable-runtime-pseudo-reloc -mwindows
    QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
    QMAKE_LFLAGS_EXCEPTIONS_OFF =
    QMAKE_LFLAGS_RELEASE    = -Wl,-s
    QMAKE_LFLAGS_DEBUG    =
    QMAKE_LFLAGS_CONSOLE    = -Wl,-subsystem,console
    QMAKE_LFLAGS_WINDOWS    = -Wl,-subsystem,windows
    QMAKE_LFLAGS_DLL        = -shared
    QMAKE_LINK_OBJECT_MAX    = 10
    QMAKE_LINK_OBJECT_SCRIPT= object_script


    QMAKE_LIBS        =
    QMAKE_LIBS_CORE         = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
    QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
    QMAKE_LIBS_NETWORK      = -lws2_32
    QMAKE_LIBS_OPENGL       = -lopengl32 -lglu32 -lgdi32 -luser32
    QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
    QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain

    !isEmpty(QMAKE_SH) {
        MINGW_IN_SHELL      = 1
        QMAKE_DIR_SEP        = /
        QMAKE_COPY        = cp
        QMAKE_COPY_DIR        = xcopy /s /q /y /i
        QMAKE_MOVE        = mv
        QMAKE_DEL_FILE        = rm
        QMAKE_MKDIR        = mkdir
        QMAKE_DEL_DIR        = rmdir
        QMAKE_CHK_DIR_EXISTS = test -d
    } else {
        QMAKE_COPY        = copy /y
        QMAKE_COPY_DIR        = xcopy /s /q /y /i
        QMAKE_MOVE        = move
        QMAKE_DEL_FILE        = del
        QMAKE_MKDIR        = mkdir
        QMAKE_DEL_DIR        = rmdir
        QMAKE_CHK_DIR_EXISTS    = if not exist
    }

    QMAKE_MOC        = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc
    QMAKE_UIC        = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic
    QMAKE_IDC        = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc

    QMAKE_IDL        = midl
    QMAKE_LIB        = ar -ru
    QMAKE_RC        = i586-mingw32msvc-windres
    QMAKE_ZIP        = zip -r -9

    QMAKE_STRIP        = i586-mingw32msvc-strip
    QMAKE_STRIPFLAGS_LIB     += --strip-unneeded
    load(qt_config)

Более подробно о кросс компиляции можно почитать тут.Правим файл проекта (.pro).Данные дополнения в файле нужны для того, чтобы в Makefile, сгенерированным qmake, появилась опция install.

    <pre>
    unix { 
        # VARIABLES
        isEmpty(PREFIX):PREFIX = /usr/local #PREFIX - это путь установки
        BINDIR = $$PREFIX/bin # путь к бинарникам
        DATADIR = $$PREFIX/share # путь к различным компонентам приложения, от которых можно отказаться
        DEFINES += DATADIR=\"$$DATADIR\" \
            PKGDATADIR=\"$$PKGDATADIR\"
        
        # MAKE INSTALL
        INSTALLS += target \
            desktop \
            pixmaps \
            icon22 \
            templates1 \
            templates2 \
            pagetemplates # оставив в INSTALLS только target, также по аналогии можно добавить и инсталяцию библиотек в нужные директории
        target.path = $$BINDIR
        desktop.path = $$DATADIR/applications/
        desktop.files += $${TARGET}.desktop
        pixmaps.path = $$DATADIR/pixmaps/
        pixmaps.files += images/$${TARGET}.png
        icon22.path = $$DATADIR/icons/hicolor/22x22/apps/
        icon22.files += images/$${TARGET}.png
        templates1.path = $$DATADIR/yourownnewsmaker/templates/default/
        templates1.files = templates/default/*.*
        templates2.path = $$DATADIR/yourownnewsmaker/templates/eeex-sony-pdf/
        templates2.files = templates/eeex-sony-pdf/*.*
        pagetemplates.path = $$DATADIR/yourownnewsmaker/page-templates/
        pagetemplates.files = page-templates/*.*
    }
Выдает ошибки:
:-1: error: cannot find -lCore
:-1: error: cannot find -lAggregation
:-1: error: cannot find -lExtensionSystem
:-1: error: cannot find -lUtils
:-1: error: collect2: error: ld returned 1 exit status
Смотрел
locate libAggregation
/usr/lib/i386-linux-gnu/qtcreator/libAggregation.so
/usr/lib/i386-linux-gnu/qtcreator/libAggregation.so.1
/usr/lib/i386-linux-gnu/qtcreator/libAggregation.so.1.0
/usr/lib/i386-linux-gnu/qtcreator/libAggregation.so.1.0.0

Пробовал указывать проекту на эти либы ничего не помогает. Что делать?


Ответ на: комментарий от Solace

Такой файл сконфигурирован автоматически креатором

magnuz ()

что то по пути, не похоже что это скросскомпилированные либы.

Зависимости, так то, надо тем же тулчейном собрать, что и поделие.

pon4ik ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.