Problema ao compilar plugin do Qt Creator



  • Boa Noite!!

    Estava tentando compilar um plugin do Qt Creator, mas ele compila e nao gera a DLL so o xml... nao faço ideia do que esta acontecendo...

    estou usando o Mingw32

    o projeto foi criado automaticamente pelo Qt Creator....

    desde ja agradeço a ajuda.



  • Rodrigocg,

    Posta o log do build. Realmente é estranho.

    Você está com tudo configurado certo (como os fontes do QtCreator)?

    Estou fazendo um plugin para o QtCreator. Mas como a minha ideia é contribuir, estou seguindo este "guideline":http://qt-project.org/wiki/Setting-up-Gerrit. Com isso, meu plugin está no mesmo diretório dos outros plugins.



  • Nao sei que esta acontecendo.... fiquei fuçando para ver se conseguia arrumar e agora esta dando problemas de dependencias (ele continua gerando o arquivo, mas nao executa mais)

    o erro que da é o seguinte:
    d:/qt/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lAggregation
    d:/qt/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lExtensionSystem
    d:/qt/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lUtils
    d:/qt/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lCore
    collect2: ld returned 1 exit status
    mingw32-make[1]: *** [c:\Users\Rodrigo\AppData\Local\QtProject\qtcreator\plugins\2.7.0\MyCompany\MyPlugin.dll] Error 1
    mingw32-make: *** [release] Error 2
    01:01:28: The process "D:\qt\mingw\bin\mingw32-make.exe" exited with code 2.
    Error while building/deploying project myplugin (kit: Qt 4.8.4)
    When executing step 'Make'

    Aparente mente é de dependencias nao satisfeitas, mas nao entendo isso, porque eu me certifiquei de verificar cada uma delas com o dependence walker...

    quando abro o Qt Creator depois de ter compilado o plugin aparece uma janela com o seguinte conteudo:

    MyPlugin

    C:\Users\Rodrigo\AppData\Local\QtProject\qtcreator\plugins\2.7.0\MyCompany\MyPlugin.dll: The shared library was not found.

    Eu Cmpilei o Qt Creator com o Mingw por desencargo de conciencia e mesmo assim o erro persiste...

    O conteúdo da minha variavel path é:

    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\system32\wbem;c:\program files\common files\microsoft shared\windows live;c:\program files (x86)\common files\microsoft shared\windows live;C:\Windows\system32\windowspowershell\v1.0;c:\postgresql\9.1\bin;c:\mysql\bin;c:\program files (x86)\windows live\shared;C:\Program Files (x86)\MATLAB71\bin\win32;C:\python27;D:\Qt\4.8.4\bin;D:\Qt\MinGW\bin;D:\Qt\build-qtcreator-Qt_4_8_4-Release\bin

    a versao do Qt Creator é: 2.7

    o projeto do plugin é o gerado pelo proprio Qt Creator.
    No projeto dele, passei somente o diretorio dos codigo fonte...

    se nao achar soluçao do pq q nao esta gerando o godigo vou formatar...

    mas antes vou fazer uma instalaçao aqui na virtual machine....



  • O que o plugin que voce esta fazendo faz?



  • Estou fazendo um plugin para o QtCreator suportar o Tfs (controle de versão). Comecei a fazer, mas dei uma refatorada, por conta de mudanças recente nos fontes do QtCreator.

    O que acontece, no seu caso, ele não está achando as DLL's do QtCreator, mesmo ele tendo criado o projeto para você, pois quando você cria o plugin, ele não compila o QtCreator.

    Faça o seguinte: abra o qtcreator.pro, configure para que a saída de compilação seja a mesma que você colocou no seu plugin (na tela do wizard de criação do plugin. Ex: c:\qtcreatorbuild), a faça a compilação dele.

    Depois tente compilar o seu plugin. Tem que funcionar :)



  • Rodrigo, você incluiu o qtcreatorplugin.pri no .pro file do seu plugin? Poderia por gentileza postar o conteúdo do arquivo .pro do seu plugin?



  • Segue o conteudo do arquivo .pro:

    @
    TARGET = MyPlugin
    TEMPLATE = lib

    DEFINES += MYPLUGIN_LIBRARY

    MyPlugin files

    SOURCES += mypluginplugin.cpp

    HEADERS += mypluginplugin.h
    myplugin_global.h
    mypluginconstants.h

    Qt Creator linking

    set the QTC_SOURCE environment variable to override the setting here

    QTCREATOR_SOURCES = $$(QTC_SOURCE)
    isEmpty(QTCREATOR_SOURCES):QTCREATOR_SOURCES=D:/Qt/qtcreator-2.7.0

    set the QTC_BUILD environment variable to override the setting here

    IDE_BUILD_TREE = $$(QTC_BUILD)
    isEmpty(IDE_BUILD_TREE):IDE_BUILD_TREE=D:/Qt/build-qtcreator-Qt_4_8_4-Release/lib

    uncomment to build plugin into user config directory

    <localappdata>/plugins/<ideversion>

    where <localappdata> is e.g.

    "%LOCALAPPDATA%\QtProject\qtcreator" on Windows Vista and later

    "$XDG_DATA_HOME/data/QtProject/qtcreator" or "~/.local/share/data/QtProject/qtcreator" on Linux

    "~/Library/Application Support/QtProject/Qt Creator" on Mac

    USE_USER_DESTDIR = yes

    PROVIDER = MyCompany

    include($$QTCREATOR_SOURCES/src/qtcreatorplugin.pri)
    include($$QTCREATOR_SOURCES/src/plugins/coreplugin/coreplugin.pri)

    LIBS += -L$$IDE_PLUGIN_PATH/QtProject
    @

    estou testeando o que voce sugeriu TioRoy...

    daqui a pouco posto o resultado



  • TioRoy,

    a saida foram os seguintes arquivos:

    mypluginplugin.o
    qtcreator_gui_pch.h.gch/c++
    ../MyPlugin.pluginspec

    eu mudei a linha @IDE_BUILD_TREE = $$(QTC_BUILD)
    isEmpty(IDE_BUILD_TREE):IDE_BUILD_TREE=D:/Qt/build-qtcreator-Qt_4_8_4-Release/lib@ do arquivo .pro para:
    @## set the QTC_BUILD environment variable to override the setting here
    IDE_BUILD_TREE = $$(QTC_BUILD)
    isEmpty(IDE_BUILD_TREE):IDE_BUILD_TREE=C:\Users\Rodrigo\Documents\QTprojetos\untitled\build\Qt_4_8_4-Release@

    o conteudo do arquivo MyPlugin.pluginspec é:

    @<plugin name="MyPlugin" version="0.0.1" compatVersion="0.0.1">
    <vendor>MyCompany</vendor>
    <copyright>(C) MyCompany</copyright>
    <license>Put your license text here</license>
    <description>Put a short description of your plugin here</description>
    <url>http://www.mycompany.com</url>
    <dependencyList>
    <dependency name="Core" version="2.7.0"/>
    </dependencyList>
    </plugin>

    @



  • Rodrigo,

    Fiz o teste aqui e realmente, só criar o projeto do plugin, sem o QtCreator compilado, não funciona.

    Você precisa compilar o QtCreator (abra o qtcreator.pro que está nos fontes do creator). Ele vai compilar para um diretório (que você pode configurar se quiser).

    Depois de compilado, você vai no seu .pro, e coloca o mesmo diretório na variável IDE_BUILD_TREE.



  • vou testar aqui... e ja posto o resultado!



  • Não entendo o que esta acontecendo...

    Formatei o computador e coloquei o windows 8...

    compilei o Qt Creator com o Qt 5.0.2 (MingW32_4.7)

    Os erros de dependencia continuam, mas com menos dependencias agora...

    segue os erros:

    d:/qt/qt5.0.2/tools/mingw/bin/../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lUtils
    d:/qt/qt5.0.2/tools/mingw/bin/../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lCore
    collect2.exe: error: ld returned 1 exit status

    ja verifiquei as dependencias com o Dependency Walker e esta tudo ok...



  • Bom, testei com o compilador do Visual Studio (2010). E estou usando também o Qt 5.0.2.

    Vou fazer a compilação usando o mingw amanhã e te digo o resultado.



  • Ok! Aguardo o resultado... enquanto isso vou testar usando o visual studio...



  • Rodrigo,

    ainda não consegui testar.... você conseguiu testar com o Visual Studio?



  • nada ainda.... queria fazer um plugin para auxiliar na criaçao das classes... pecisava de uma soluçao pra isso.. instalei o visual studio aqui, mas nao estou conseguindo configurar ele no Qt Creator... fica dando erro de compilador...



  • Eita.... piorou a situação :)

    Vou fazer o teste do mingw amanhã sem falta.



  • rodrigocg,

    Instalei o Qt 5.0.2 (mingw - windows).

    Fui testar, e me deparei com um erro, quando tentei compilar primeiro o QtCreator:

    Project ERROR: Unknown module(s) in QT: quick1
    19:44:52: The process "C:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin\qmake.exe" exited with code 3.
    Error while building/deploying project qtcreator (kit: Desktop Qt 5.0.2 MinGW 32bit)

    Vou investigar o motivo....


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.