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....
-
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 = libDEFINES += MYPLUGIN_LIBRARY
MyPlugin files
SOURCES += mypluginplugin.cpp
HEADERS += mypluginplugin.h
myplugin_global.h
mypluginconstants.hQt 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.0set 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/libuncomment 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.pluginspeceu 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.
-
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 statusja verifiquei as dependencias com o Dependency Walker e esta tudo ok...
-
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....