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

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



Последнее исправление: magnuz (всего исправлений: 1)

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

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

magnuz
() автор топика

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

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

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