WIP. C++11 support
parent
e6ee72f6b3
commit
cd5512e761
@ -0,0 +1,88 @@
|
|||||||
|
contrib/Qt/ReadMe.txt
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Exiv2 works well with Qt. To support Qt/Windows users, a daily build of Exiv2 for MinGW/32 is provided.
|
||||||
|
|
||||||
|
To build and run commandLineTool
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
1) Either build Exiv2/MinGW/32 as documented:
|
||||||
|
http://clanmills.com/exiv2/mingw.shtml
|
||||||
|
OR
|
||||||
|
Download and install a build from the buildserver:
|
||||||
|
http://exiv2.dyndns.org:8080/userContent/builds/Categorized/Platform/mingw/
|
||||||
|
Instructions for installing the build are in the bundle ReadMe.txt
|
||||||
|
|
||||||
|
2) Generate Makefile
|
||||||
|
/c/Users/rmills/gnu/exiv2/trunk/contrib/Qt > qmake commandLinePro.pro
|
||||||
|
|
||||||
|
3) Build commandLineTool.cpp
|
||||||
|
/c/Users/rmills/gnu/exiv2/trunk/contrib/Qt > make -B LDFLAGS=-L/usr/local/lib
|
||||||
|
|
||||||
|
4) Run commandLineTool.exe
|
||||||
|
/c/Users/rmills/gnu/exiv2/trunk/contrib/Qt > release/commandLineTool.exe
|
||||||
|
|
||||||
|
Gotchas (that I know about)
|
||||||
|
|
||||||
|
1 Set PKG_CONFIG_PATH correctly
|
||||||
|
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/lib/pkgconfig"
|
||||||
|
|
||||||
|
2 Set PATH to use the toolchain for Qt
|
||||||
|
PATH="/c/Qt/Qt5.6.0/5.6/mingw49_32/bin:/c/Qt/Qt5.6.0/Tools/mingw492_32/bin:/c/MinGW/bin:/usr/bin:/usr/local/bin:/c/cygwin64/bin:."
|
||||||
|
|
||||||
|
3 You may need to copy libstdc++-6.dll to /usr/local/bin
|
||||||
|
cp $(which libstdc++-6.dll) /usr/local/bin
|
||||||
|
|
||||||
|
4 You may have to edit commandLineTool.pro to match your environment
|
||||||
|
|
||||||
|
5 DO NOT USE Cygwin Builds
|
||||||
|
|
||||||
|
6 Do not give up.
|
||||||
|
This stuff works. You may have to work quite hard to get it working.
|
||||||
|
Don't give up. It will work.
|
||||||
|
|
||||||
|
7 If you give up with MinGW, use Visual Studio.
|
||||||
|
|
||||||
|
Running MinGW bash and setting Qt tools in the path
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
I have a batch file (mingw32.bat) to get me into MinGW.
|
||||||
|
|
||||||
|
C:\>type \Users\rmills\com\mingw32.bat
|
||||||
|
@echo off
|
||||||
|
rem ------------------
|
||||||
|
: mingw32.bat
|
||||||
|
: invoke MinGW bash
|
||||||
|
:
|
||||||
|
setlocal
|
||||||
|
set "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig"
|
||||||
|
set "INCLUDE_PATH=/usr/local/inc"
|
||||||
|
set "LIBRARY_PATH=/usr/local/lib"
|
||||||
|
set "BINARY_PATH=/usr/local/bin"
|
||||||
|
rem set "PATH=c:\MinGW\bin;c:\MinGW\msys\1.0\bin;c:\MinGW\msys\1.0\local\bin;c:\Users\rmills\com;."
|
||||||
|
set "PATH=c:\Qt\Qt5.6.0\5.6\mingw49_32\bin;c:\Qt\Qt5.6.0\Tools\mingw492_32\bin;c:\MinGW\bin;\usr\bin:\usr\local\bin;c:\cygwin64\bin;c:\Users\rmills\com;."
|
||||||
|
set "PS1=\! -32- ${PWD}> "
|
||||||
|
c:\MinGW\msys\1.0\bin\bash.exe %*%
|
||||||
|
|
||||||
|
: That's all Folks
|
||||||
|
rem ------------------
|
||||||
|
|
||||||
|
UNICODE_PATH
|
||||||
|
------------
|
||||||
|
|
||||||
|
Qt users may prefer to build Exiv2 to support UNICODE_PATH. The sample application samples/exifprint.cpp works with UNICODE_PATH.
|
||||||
|
|
||||||
|
Searching for more information about Qt, MinGW and UNICODE_PATH
|
||||||
|
---------------------------------------------------------------
|
||||||
|
These matters are occasionally discussed on the forum. Please search to read discussions.
|
||||||
|
|
||||||
|
You will probably find the following helpful:
|
||||||
|
http://dev.exiv2.org/boards/3/topics/2311?r=2312#message-2312
|
||||||
|
http://dev.exiv2.org/issues/1169
|
||||||
|
http://dev.exiv2.org/boards/3/topics/2705
|
||||||
|
|
||||||
|
However there have been others and there will be more in future.
|
||||||
|
|
||||||
|
Robin Mills
|
||||||
|
http://clanmills.com
|
||||||
|
2016-09-19
|
@ -0,0 +1,15 @@
|
|||||||
|
QT += core
|
||||||
|
QT -= gui
|
||||||
|
|
||||||
|
TARGET = commandLineTool
|
||||||
|
CONFIG += console
|
||||||
|
CONFIG -= app_bundle
|
||||||
|
|
||||||
|
TEMPLATE = app
|
||||||
|
SOURCES += main.cpp
|
||||||
|
|
||||||
|
win32 {
|
||||||
|
INCLUDEPATH += $$quote(c:/Qt/5.14.2/mingw73_64/include)
|
||||||
|
INCLUDEPATH += /usr/local/include
|
||||||
|
LIBS += -L$$quote(c:/Qt/5.14.2/mingw73_64/include) -L/usr/local/lib -lexiv2
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
#include <QCoreApplication>
|
||||||
|
#include <exiv2/exiv2.hpp>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
QCoreApplication a(argc, argv);
|
||||||
|
|
||||||
|
exv_grep_keys_t keys;
|
||||||
|
Exiv2::dumpLibraryInfo(std::cout,keys);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
// return a.exec();
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue