Thanks for the pointer to the plugins that QImage uses.
I edited the .pro file as instructed.
TEMPLATE = app
TARGET = iMage
DEPENDPATH += .
INCLUDEPATH += .
QTPLUGIN += qjpeg
LIBS += -lexiv2 \
# Input
HEADERS += iMage_filearea.hpp \
iMage_imagearea.hpp \
iMage_imageheader.hpp \
iMage_orientationdialog.hpp \
iMage_picturearea.hpp \
iMage_workarea.hpp
SOURCES += iMage_filearea.cpp \
iMage_imagearea.cpp \
iMage_imageheader.cpp \
iMage_main.cpp \
iMage_orientationdialog.cpp \
iMage_picturearea.cpp \
iMage_workarea.cpp
TEMPLATE = app
TARGET = iMage
DEPENDPATH += .
INCLUDEPATH += .
QTPLUGIN += qjpeg
LIBS += -lexiv2 \
# Input
HEADERS += iMage_filearea.hpp \
iMage_imagearea.hpp \
iMage_imageheader.hpp \
iMage_orientationdialog.hpp \
iMage_picturearea.hpp \
iMage_workarea.hpp
SOURCES += iMage_filearea.cpp \
iMage_imagearea.cpp \
iMage_imageheader.cpp \
iMage_main.cpp \
iMage_orientationdialog.cpp \
iMage_picturearea.cpp \
iMage_workarea.cpp
To copy to clipboard, switch view to plain text mode
And the modified main.cpp is:
#include <QApplication>
#include <QtPlugin>
#include <iostream>
Q_IMPORT_PLUGIN(qjpeg)
#include "iMage_workarea.hpp"
int main(int argc, char *argv[])
{
WorkArea *workarea = new WorkArea (argv[1]);
return app.exec();
}
#include <QApplication>
#include <QtPlugin>
#include <iostream>
Q_IMPORT_PLUGIN(qjpeg)
#include "iMage_workarea.hpp"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
WorkArea *workarea = new WorkArea (argv[1]);
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Then I ran:
make clean
/usr/local/Troltech/Qt4.4.3-Static/bin/qmake
Everything compiled without error but the linker reported the following:
g++ -Wl,-rpath,/usr/local/Trolltech/Qt-4.4.3-Static/lib -o iMage iMage_filearea.o iMage_imagearea.o iMage_imageheader.o iMage_main.o iMage_orientationdialog.o iMage_picturearea.o iMage_workarea.o moc_iMage_filearea.o moc_iMage_imagearea.o moc_iMage_orientationdialog.o moc_iMage_workarea.o -L/usr/local/Trolltech/Qt-4.4.3-Static/lib -lexiv2 -L/usr/local/Trolltech/Qt-4.4.3-Static/plugins/imageformats -lqjpeg -lQtGui -L/usr/local/Trolltech/Qt-4.4.3-Static/lib -L/usr/X11R6/lib -pthread -lpng -lSM -lICE -pthread -pthread -lXi -lXrender -lXrandr -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
/usr
/local
/Trolltech
/Qt
-4.4.3
-Static/plugins
/imageformats
/libqjpeg.
a(qjpeghandler.
o): In function `write_jpeg_image
(QImage const
&,
QIODevice*,
int)': qjpeghandler.cpp:(.text+0x414): undefined reference to `jpeg_std_error'
qjpeghandler.cpp:(.text+0x45a): undefined reference to `jpeg_CreateCompress'
qjpeghandler.cpp:(.text+0x4cc): undefined reference to `jpeg_set_defaults'
qjpeghandler.cpp:(.text+0x8b4): undefined reference to `jpeg_set_quality'
qjpeghandler.cpp:(.text+0x8ca): undefined reference to `jpeg_start_compress'
qjpeghandler.cpp:(.text+0x956): undefined reference to `jpeg_write_scanlines'
qjpeghandler.cpp:(.text+0x9e4): undefined reference to `jpeg_destroy_compress'
qjpeghandler.cpp:(.text+0xd65): undefined reference to `jpeg_finish_compress'
qjpeghandler.cpp:(.text+0xd73): undefined reference to `jpeg_destroy_compress'
/usr
/local
/Trolltech
/Qt
-4.4.3
-Static/plugins
/imageformats
/libqjpeg.
a(qjpeghandler.
o): In function `read_jpeg_image
(QIODevice*,
QImage*,
QByteArray const
&,
QSize,
int)': qjpeghandler.cpp:(.text+0x2bda): undefined reference to `jpeg_resync_to_restart'
qjpeghandler.cpp:(.text+0x2c15): undefined reference to `jpeg_CreateDecompress'
qjpeghandler.cpp:(.text+0x2c2f): undefined reference to `jpeg_std_error'
qjpeghandler.cpp:(.text+0x2c6d): undefined reference to `jpeg_read_header'
qjpeghandler.cpp:(.text+0x2d35): undefined reference to `jpeg_start_decompress'
qjpeghandler.cpp:(.text+0x2eba): undefined reference to `jpeg_destroy_decompress'
qjpeghandler.cpp:(.text+0x339f): undefined reference to `jpeg_read_scanlines'
qjpeghandler.cpp:(.text+0x349e): undefined reference to `jpeg_finish_decompress'
qjpeghandler.cpp:(.text+0x37a0): undefined reference to `jpeg_read_scanlines'
qjpeghandler.cpp:(.text+0x37bc): undefined reference to `jpeg_finish_decompress'
/usr/local/Trolltech/Qt-4.4.3-Static/plugins/imageformats/libqjpeg.a(qjpeghandler.o): In function `jpegSmoothScaler::scanLine(int, QImage const*)':
qjpeghandler.
cpp:(.
text._ZN16jpegSmoothScaler8scanLineEiPK6QImage
[jpegSmoothScaler
::scanLine(int,
QImage const*)]+0x3b
): undefined reference to `jpeg_read_scanlines
'collect2: ld returned 1 exit status
g++ -Wl,-rpath,/usr/local/Trolltech/Qt-4.4.3-Static/lib -o iMage iMage_filearea.o iMage_imagearea.o iMage_imageheader.o iMage_main.o iMage_orientationdialog.o iMage_picturearea.o iMage_workarea.o moc_iMage_filearea.o moc_iMage_imagearea.o moc_iMage_orientationdialog.o moc_iMage_workarea.o -L/usr/local/Trolltech/Qt-4.4.3-Static/lib -lexiv2 -L/usr/local/Trolltech/Qt-4.4.3-Static/plugins/imageformats -lqjpeg -lQtGui -L/usr/local/Trolltech/Qt-4.4.3-Static/lib -L/usr/X11R6/lib -pthread -lpng -lSM -lICE -pthread -pthread -lXi -lXrender -lXrandr -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
/usr/local/Trolltech/Qt-4.4.3-Static/plugins/imageformats/libqjpeg.a(qjpeghandler.o): In function `write_jpeg_image(QImage const&, QIODevice*, int)':
qjpeghandler.cpp:(.text+0x414): undefined reference to `jpeg_std_error'
qjpeghandler.cpp:(.text+0x45a): undefined reference to `jpeg_CreateCompress'
qjpeghandler.cpp:(.text+0x4cc): undefined reference to `jpeg_set_defaults'
qjpeghandler.cpp:(.text+0x8b4): undefined reference to `jpeg_set_quality'
qjpeghandler.cpp:(.text+0x8ca): undefined reference to `jpeg_start_compress'
qjpeghandler.cpp:(.text+0x956): undefined reference to `jpeg_write_scanlines'
qjpeghandler.cpp:(.text+0x9e4): undefined reference to `jpeg_destroy_compress'
qjpeghandler.cpp:(.text+0xd65): undefined reference to `jpeg_finish_compress'
qjpeghandler.cpp:(.text+0xd73): undefined reference to `jpeg_destroy_compress'
/usr/local/Trolltech/Qt-4.4.3-Static/plugins/imageformats/libqjpeg.a(qjpeghandler.o): In function `read_jpeg_image(QIODevice*, QImage*, QByteArray const&, QSize, int)':
qjpeghandler.cpp:(.text+0x2bda): undefined reference to `jpeg_resync_to_restart'
qjpeghandler.cpp:(.text+0x2c15): undefined reference to `jpeg_CreateDecompress'
qjpeghandler.cpp:(.text+0x2c2f): undefined reference to `jpeg_std_error'
qjpeghandler.cpp:(.text+0x2c6d): undefined reference to `jpeg_read_header'
qjpeghandler.cpp:(.text+0x2d35): undefined reference to `jpeg_start_decompress'
qjpeghandler.cpp:(.text+0x2eba): undefined reference to `jpeg_destroy_decompress'
qjpeghandler.cpp:(.text+0x339f): undefined reference to `jpeg_read_scanlines'
qjpeghandler.cpp:(.text+0x349e): undefined reference to `jpeg_finish_decompress'
qjpeghandler.cpp:(.text+0x37a0): undefined reference to `jpeg_read_scanlines'
qjpeghandler.cpp:(.text+0x37bc): undefined reference to `jpeg_finish_decompress'
/usr/local/Trolltech/Qt-4.4.3-Static/plugins/imageformats/libqjpeg.a(qjpeghandler.o): In function `jpegSmoothScaler::scanLine(int, QImage const*)':
qjpeghandler.cpp:(.text._ZN16jpegSmoothScaler8scanLineEiPK6QImage[jpegSmoothScaler::scanLine(int, QImage const*)]+0x3b): undefined reference to `jpeg_read_scanlines'
collect2: ld returned 1 exit status
To copy to clipboard, switch view to plain text mode
This is so tantalizingly close!
I am missing an additional library?
Thanks again for your help,
Badjer1024
Bookmarks