[Solved] Can't compile jasper from qtimageformats/thirdparty windows 7
-
Hello,
I try to compile Qt 5.3.2 on Windows 7 with msvc2010. The problem is that the jasper part from 3party in qtimageformats are not compile. Because of this I have problems at compiling of all my other apps.
Here is my config for compile:
@configure -static -commercial -release -no-opengl -plugin-sql-mysql -qt-sql-sqlite -qt-libjpeg -skip qtdeclarative -skip qtlocation -skip qtwinextras -skip qtwebkit -nomake examples -nomake tests -no-openssl -platform win32-msvc2010 -prefix "C:\Qt\5.3.2"@The build compiles complete (nmake && nmake install) - but if I compile my apps the jasper compile starts everytime again. Because of this the compiling time is very long.
Is it posible to switch of jasper before compiling qt5.3.2? Or is there an other solution for it?
I hope my text is understandable.Thank you for your help.
Kind regards
richard -
Hi,
Something's not clear, are you saying that when you compile one of your own project, it triggers the build of jasper ?
-
Hi,
thank you for your answer.
yes - everytime I build an own project.
Here are the terminal outputs I get everytime:@Code wird generiert.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\jpc\jpc_t1cod.c(160) : warning C4715: "JPC_NOMINALGAIN": Nicht alle Steuerelementpfade geben einen W
ert zurück.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\jp2\jp2_enc.c(436) : warning C4715: "clrspctojp2": Nicht alle Steuerelementpfade geben einen Wert zu
rück.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\jpg\jpg_enc.c(363) : warning C4715: "tojpgcs": Nicht alle Steuerelementpfade geben einen Wert zurück
.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\base\jas_cm.c(1277) : warning C4715: "jas_clrspc_numchans": Nicht alle Steuerelementpfade geben eine
n Wert zurück.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\base\jas_cm.c(1068) : warning C4715: "icctoclrspc": Nicht alle Steuerelementpfade geben einen Wert z
urück.
Codegenerierung ist abgeschlossen.@Ans because of that I thought about to switch it off in the configure.bat. But I don't now how.
-
What's your project ? How do you build it ?
-
Sorry for the late answer. I try to build for example little GUI-Apps. I tested it with an complete new GUI-App like this:
pro-File:
@#-------------------------------------------------Project created by QtCreator 2015-01-06T09:38:57
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = HelloWorld
TEMPLATE = appSOURCES += main.cpp
mainwindow.cppHEADERS += mainwindow.h
FORMS += mainwindow.ui
@mainwindow.h:
@#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{
Q_OBJECTpublic:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();private:
Ui::MainWindow *ui;
};#endif // MAINWINDOW_H@
mainwindow.cpp:
@#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}MainWindow::~MainWindow()
{
delete ui;
}@main.cpp:
@#include <QApplication>
#include "mainwindow.h"int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();return a.exec();
}
@Thats all. Only an QtCreator created GUI-App without changeings.
I build the project with Visual Studio 2010 terminal and get following messages:@
C:\Daten\src\HelloWorld>qmake
Project WARNING: Plugin class name could not be determined for qplastiquestyle plugin.
Project WARNING: Plugin class name could not be determined for qplastiquestyle plugin.
Project WARNING: Plugin class name could not be determined for qplastiquestyle plugin.C:\Daten\src\HelloWorld>nmake
Microsoft (R) Program Maintenance Utility, Version 10.00.40219.01
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten."c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -f Makefile.Release
Microsoft (R) Program Maintenance Utility, Version 10.00.40219.01
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.C:\Qt\5.3.2\bin\uic.exe mainwindow.ui -o ui_mainwindow.h C:\Qt\5.3.2\bin\moc.exe -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG -D_MSC_VER=1600 -D_WIN32 -IC:/Qt/5.3.2/mkspecs/win32-msvc2010
src/HelloWorld -IC:/Qt/5.3.2/include -IC:/Qt/5.3.2/include/QtWidgets -IC:/Qt/5.3.2/include/QtGui -IC:/Qt/5.3.2/include/QtCore mainwindow.h -o release\moc_mainwindow.cpp
cl -c -nologo -Zm200 -Zc:wchar_t -O2 -GL -arch:SSE2 -MT -MP2 -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DND
....\Qt\5.3.2\include" -I"......\Qt\5.3.2\include\QtWidgets" -I"......\Qt\5.3.2\include\QtGui" -I"......\Qt\5.3.2\include\QtCore" -I"release" -I"." -I"......\Qt\5.3.2\mks
msvc2010" -Forelease\ @E:\Temp\nmEC0E.tmp
main.cpp
mainwindow.cpp
helloworld_plugin_import.cpp
cl -c -nologo -Zm200 -Zc:wchar_t -O2 -GL -arch:SSE2 -MT -MP2 -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DND
....\Qt\5.3.2\include" -I"......\Qt\5.3.2\include\QtWidgets" -I"......\Qt\5.3.2\include\QtGui" -I"......\Qt\5.3.2\include\QtCore" -I"release" -I"." -I"......\Qt\5.3.2\mks
msvc2010" -Forelease\ @E:\Temp\nmF362.tmp
moc_mainwindow.cpp
link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /NODEFAULTLIB:MSVCRT /LTCG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls
6.0.0.0' publicKeyToken='6595b64144ccf1df' language='' processorArchitecture=''" /MANIFEST /MANIFESTFILE:release\HelloWorld.exe.embed.manifest /OUT:release\HelloWorld.exe @E:\Te
mp
Bibliothek "release\HelloWorld.lib" und Objekt "release\HelloWorld.exp" werden erstellt.
Code wird generiert.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\jpc\jpc_t1cod.c(160) : warning C4715: "JPC_NOMINALGAIN": Nicht alle Steuerelementpfade ge
ert zurück.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\jp2\jp2_enc.c(436) : warning C4715: "clrspctojp2": Nicht alle Steuerelementpfade geben ei
rück.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\jpg\jpg_enc.c(363) : warning C4715: "tojpgcs": Nicht alle Steuerelementpfade geben einen
.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\base\jas_cm.c(1277) : warning C4715: "jas_clrspc_numchans": Nicht alle Steuerelementpfade
n Wert zurück.
c:\qt\qt-everywhere-enterprise-src-5.3.2\qtimageformats\src\3rdparty\jasper\src\libjasper\base\jas_cm.c(1068) : warning C4715: "icctoclrspc": Nicht alle Steuerelementpfade geben e
urück.
Codegenerierung ist abgeschlossen.
mt.exe /nologo /manifest release\HelloWorld.exe.embed.manifest /outputresource:release\HelloWorld.exe;1@This little project needs 6 minutes to compile and I think it's definetly to long.
I hope that I understand your question and this is the answer you wanted :)
-
Yes, that's what I wanted but I must say that, well, that's a new one…
I see you are using qmake without any path. Where is it located ?
-
Do you mean that you can't build qtimageformats or that when you build your application it's trying to build qtimageformats ?
-
Hi,
when I compile my Qt app, all imageformats are recompiled, too. So each simple compile run for any app using Qt causes a recompile of all imageformat plugins.
In between I switched from static build of Qt to shared build and above problem is gone...
ciao,
Chris