Giter Site home page Giter Site logo

nomacs / nomacs Goto Github PK

View Code? Open in Web Editor NEW
1.7K 29.0 146.0 83.43 MB

nomacs is a free image viewer for windows, linux, and mac systems.

License: GNU General Public License v3.0

CMake 2.82% Shell 0.02% C++ 92.38% C 0.05% CSS 0.94% Python 1.51% Batchfile 0.09% Roff 0.14% Dockerfile 0.02% Inno Setup 2.04%
nomacs image-viewer picture-viewer photo-editor opencv avif jpeg-xl jpegxl

nomacs's Introduction

nomacs - Image Lounge 🍸

nomacs is a free, open source image viewer, which supports multiple platforms. You can use it for viewing all common image formats including RAW and psd images. nomacs is licensed under the GNU General Public License v3 and available for Windows, Linux, FreeBSD, Mac, and OS/2.

Build status Downloads Crowdin

Build nomacs (Windows)

We assume you have an IDE (i.e. Visual Studio), python, git, and Qt installed.

Get all dependencies:

git submodule init
git submodule update

Project folders in 3rd-party will not be empty anymore. Now call:

python scripts/make.py "qtpath/bin"

This will build nomacs into build/nomacs. If you are using Visual Studio, you can then double-click build/nomacs/nomacs.sln. Right-click the nomacs project and choose Set as StartUp Project.

Build individual projects using:

python scripts/make.py "qt/bin" --project quazip,libraw --force

Developer Build

I like having a separate developer build (without submodules) that uses 3rd party libs already compiled. To do so you need to:

git submodule update --init --remote scripts 

# python scripts/make.py "C:\Qt\Qt-5.14.1-installer\5.14.2\msvc2017_64\bin" --lib-path C:\coding\nomacs\nomacs\3rd-party\build
python scripts/make.py "qt/bin" --lib-path "nomacs/3rd-party/build"

If anything did not work

  • check if you have setup opencv (otherwise uncheck ENABLE_OPENCV)
  • check if your Qt is set correctly (otherwise set the path to qt_install_dir/qtbase/bin/qmake.exe)
  • check if your builds proceeded correctly

Build nomacs (Ubuntu)

Get the required packages:

  • For Ubuntu 21.04 and above:

    sudo apt-get install debhelper cdbs qt5-qmake qttools5-dev-tools qtbase5-dev qttools5-dev libqt5svg5-dev qt5-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev cmake libtiff-dev libquazip5-dev libwebp-dev git build-essential lcov libzip-dev
  • For older Ubuntu versions:

    sudo apt-get install debhelper cdbs qt5-qmake qttools5-dev-tools qt5-default qttools5-dev libqt5svg5-dev qt5-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev cmake libtiff-dev libquazip5-dev libwebp-dev git build-essential lcov libzip-dev

Clone the nomacs repository from GitHub:

git clone https://github.com/nomacs/nomacs.git

This will by default place the source into ~/nomacs Go to the nomacs/ImageLounge directory and run cmake to get the Makefiles:

mkdir build
cd build
cmake ../ImageLounge/.

Compile nomacs:

make

You will now have a binary (~/nomacs/build/nomacs), which you can test (or use directly). To install it to /usr/local/bin, use:

sudo make install

note that you have to execute

sudo ldconfig

after a successful install.

Install the heif plugin for HEIF support.

For Package Maintainers

  • Set ENABLE_TRANSLATIONS to true (default: false)
  • Build all officially supported plugins

Build nomacs (MacOS)

Install Homebrew for easier installation of dependencies. Install required dependencies:

brew install qt5 exiv2 opencv libraw quazip cmake pkg-config

Clone the nomacs repository from GitHub:

git clone https://github.com/nomacs/nomacs.git

Go to the nomacs directory and run cmake to get the Makefiles:

cd nomacs
mkdir build
cd build

For Homebrew on Intel models:

Qt5_DIR=/usr/local/opt/qt5/ cmake -DQT_QMAKE_EXECUTABLE=/usr/local/opt/qt5/bin/qmake ../ImageLounge/.

For Homebrew on Apple Silicon models:

Qt5_DIR=/opt/homebrew/opt/qt5/ cmake -DQT_QMAKE_EXECUTABLE=/opt/homebrew/opt/qt5/bin/qmake ../ImageLounge/.

Run make:

make

You will now have a binary (nomacs.app), which you can test (or use directly). To install it to /usr/local/bin, use

sudo make install

Build in Docker

We have created a docker image that best simulates the travis system (currently it's ubuntu xenial 16.04). To build nomacs in a docker, you have to create the image:

docker build --rm -f "Dockerfile" -t nomacs:latest empty-docker-dir

To deploy nomacs in a docker on your system, you can mount this directory using:

docker run --rm -it -v C:\\coding\\nomacs:/usr/nomacs nomacs:latest

If needed, you can upload the image:

docker login
docker tag nomacs diemmarkus/nomacs
docker push diemmarkus/nomacs:latest

Links

nomacs-icon

nomacs's People

Contributors

a17r avatar agaida avatar alyosama avatar antonio-rojas avatar c0xc avatar christian-kapeller avatar cornytrace avatar cybre avatar dglava avatar diemmarkus avatar ewouth avatar flow79 avatar gwty avatar hollaus avatar hyphenrf avatar kensington avatar kovidgoyal avatar ksyuc avatar leejuyuu avatar nholmgaard avatar novomesk avatar pinotree avatar pvanek avatar sdvillal avatar sfiel avatar sizeofvoid avatar smarquespt avatar tcmb avatar timjerman avatar v-tyrtov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nomacs's Issues

High DPI support

nomacs currently seems to have no high DPI support. Setting

QT_AUTO_SCREEN_SCALE_FACTOR=1

causes the UI to look correct, but images are pixelated. Without that environment variables, images look correct but the toolbar icons are too small.

Using

QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, False)
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps)

And setting the toolbar icon size using pts rather than pixels should fix these issues (the typical approach is to make the toolbar 1.5 * lineheight where you get line haeing fromQFontMetrics of the application font.)

https://doc.qt.io/qt-5/highdpi.html

Latest stable release tag changed SemVer formats???

Just noticed this as it broke the Release Notes URL on Chocolatey.org. They were going on the assumption that MAJOR.Minor.patch was the standard (based on prior releases) and so they created their links with those positions, but the 3.4 tag appears to have dropped the .0 that was present in other releases. Not a huge deal, just wanted to make you aware this could break other things elsewhere.

Lepton support

Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%
https://github.com/dropbox/lepton

Would it be possible to view images saved in this format via nomacs? I would really appreciate it.

Qt5 compiling error

I do
cd nomacs/ImageLounge
cmake . -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_QT5=ON -DENABLE_QUAZIP=OFF -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5
then make
and get the following error message:

irtual void nmc::DkThumbsView::mouseMoveEvent(QMouseEvent_)»:
/home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.cpp:1398:33: error: invalid use of incomplete type «class QDrag»
QDrag_ drag = new QDrag(this);
^
In file included from /usr/include/qt/QtWidgets/qtreeview.h:37:0,
from /usr/include/qt/QtWidgets/QTreeView:1,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkWidgets.h:55,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.h:32,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.cpp:28:
/usr/include/qt/QtWidgets/qabstractitemview.h:48:7: error: forward declaration of «class QDrag»
class QDrag;
^
/home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.cpp:1399:9: error: invalid use of incomplete type «class QDrag»
drag->setMimeData(mimeData);
^
In file included from /usr/include/qt/QtWidgets/qtreeview.h:37:0,
from /usr/include/qt/QtWidgets/QTreeView:1,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkWidgets.h:55,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.h:32,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.cpp:28:
/usr/include/qt/QtWidgets/qabstractitemview.h:48:7: ошибка: forward declaration of «class QDrag»
class QDrag;
^
/home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.cpp:1400:37: error: invalid use of incomplete type «class QDrag»
Qt::DropAction dropAction = drag->exec(Qt::CopyAction);
^
In file included from /usr/include/qt/QtWidgets/qtreeview.h:37:0,
from /usr/include/qt/QtWidgets/QTreeView:1,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkWidgets.h:55,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.h:32,
from /home/ilya/build/lxqt/nomacs/src/nomacs/ImageLounge/src/DkThumbsWidgets.cpp:28:
/usr/include/qt/QtWidgets/qabstractitemview.h:48:7: error: forward declaration of «class QDrag»
class QDrag;

Clearing keyboard shortcuts is confusing

The method to clear keyboard shortcuts is confusing.

  1. Open Keyboard Shortcuts dialog
  2. Interact with the dialog

Expected result: Some indication on how to remove a keyboard shortcut
Actual result: No indication on how to remove a keyboard shortcut

After a lot of trial and error, I did find a method that kind of works.

  1. Find the key combination for a shortcut you want to remove
  2. Double-click another shortcut
  3. Enter the shortcut key combination of the entry you want to remove
  4. Click out of the shortcut input
  5. Click OK

However, the dialog must be closed and then re-opened for each binding you replace.

installation path of libraries

it would be nice if the libraries would be installed outside the search path of shared libraries - if they are not shared. In case they should be shared, please give them a soname

Add a quick way to toggle multiple panels

I thought that frameless mode was a great idea to toggle between “just show me the image” and “wow, I can do everything!” modes. That was until I realized that frameless mode does not work so well with tiling window managers (also see http://nomacs.org/redmine/issues/495).

I'd like to have a button that will turn off all panels/toolbars and then turn them all back when I press it again. Perhaps one way to implement this is to add support for “workspaces” or something like that (different configurations and easy way to toggle between them).

File filter: register file type has no effect (Linux)

Hi,

When "registering" a file type in Edit > Settings > File Filters, I would expect it to change the default application for the current user. In Linux, this is typically done by modifying $HOME/.local/share/applications/mimeapps.list which is used by xdg-open. I can't however see a change, and the default image viewer is unaffected. But perhaps I'm missing something obvious?

nomacs 2.2.0-1
Arch Linux x64

Build fails with Quazip disabled

DkImageLoader.cpp:515:120: error: ‘class nmc::DkImageContainerT’ has no member named ‘getZipData’
if (mCurrentImage && (newFileIdx < 0 || newFileIdx >= mImages.size()) && mCurrentImage->isFromZip() && mCurrentImage->getZipData()) {

Start in thumbail preview when directory passed as argument

It would be nice if nomacs would start in the thumbnail preview when passed a directory as an argument on the command line. Saves having to press Shift+T every time on startup.

If you dont want that to be the default gehavior, then an option to turn it on would work, either as a command line switch or a preference in settings.

Nomacs building failed Ubuntu 14.04

Dear @diemmarkus
I was trying to build Nomacs after I had merged your new commits
I found these errors
error: ‘class QNoDebug’ has no member named ‘noquote’ in DkSettings.cpp:257:8
error: ‘QtInfoMsg’ was not declared in this scope in DkUtils.cpp:85:7

I think its related to commit 8a97692305b4e7cf627ef7ec1f402eca264f0884

I updated my qt version from 5.4 to 5.6 but the problem is still happens

Thanks

make install still looks for dropped graphics file and hence fails

In recent VCS checkouts make install invoked after successfully running cmake . and make, all in ./nomacs/ImageLounge/, fails as it still looks for a file nomacs.png that was dropped a while ago:

[...]
CMake Error at cmake_install.cmake:76 (file):
  file INSTALL cannot find
  "/usr/local/peter/nomacs/ImageLounge/src/img/nomacs.png".
[...]

Bisecting suggests it's a regression introduced in e2ad387.

All tests on up to date Arch Linux x86_64.

copyright webp

Can you please include COPYING, PATENTS, AUTHORS into 3rdparty/libwebp - without the file headers would make no sense:

// Use of this source code is governed by a BSD-style license
// that can be found in the COPYING file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS. All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.

Missing library in recent VCS checkouts

On Linux recent VCS checkouts can be compiled successfully but fail to start throwing a warning error while loading shared libraries: libnomacsGui.so: cannot open shared object file: No such file or directory.

Problem can be seen as of 1a5a0c5, the predecessors failed to build for different reasons.
Regarding 87a6168 and aeadc94 make failed throwing

/usr/bin/ld: CMakeFiles/nomacs.dir/3rdparty/libwebp/src/utils/thread.c.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
/usr/lib/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/nomacs.dir/build.make:1912: recipe for target 'nomacs' failed
make[2]: *** [nomacs] Error 1
CMakeFiles/Makefile2:102: recipe for target 'CMakeFiles/nomacs.dir/all' failed
make[1]: *** [CMakeFiles/nomacs.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

while in becc101 it's already cmake to fail, corresponding error message is

CMake Error at cmake/UnixBuildTarget.cmake:86 (LIST):
  list sub-command REMOVE_ITEM requires list to be present.
Call Stack (most recent call first):
  CMakeLists.txt:149 (include)

All tests on up to date Arch Linux x86_64.

OpenCV 3 support?

Hi

does nomacs support OpenCV 3?

I got this while building it on Slackware

CMake Error at cmake/Unix.cmake:46 (find_package):
  Could not find a configuration file for package "OpenCV" that is compatible
  with requested version "2.1.0".

  The following configuration files were considered but not accepted:

    /usr/share/opencv/OpenCVConfig.cmake, version: 3.1.0

Call Stack (most recent call first):
  CMakeLists.txt:81 (include)

Remembering visibility settings for toolbar

Hello
Thanks for the grate app, all grate but I could not make it remember the visibility settings for toolbar, I searched to see whether it possible in the first place http://nomacs.org/questions-and-answers/:

" thomas" would like to see it remember the screen layout (toolbar/palette visibility)...
"markus" nomacs does remember toolbar visibility/position and other elements...

It appears that it's possible , I searched for an option in settings.nfo but I didn't find one, other settings like zoomToFit is working perfectly .

Change player appearance

Hi there - i like to change the position, opacity and size of the player: Can you implement it as new feature?
Otherwise: Can you link me the position of the source code, which manage that?

Thanks a lot in advance

Remember zoom setting between tabs + Vertical tabs

  • When navigating between tabs the zoom level is reset to default.
    It would be very useful if the zoom level of each tab is remembered while it's open.
  • Option for Vertical tabs?
    After opening a couple of tabs it becomes very difficult to navigate.
    Vertical tabs would make navigation of several (or dozens) of images ridiculously easy.
    Scrolling through them with mousewheel and having middle-click to close would be ideal extra functionality.

I've been using nomacs for quite a while now and It's great to see it coming along so nicely. Thank you!

Win7 x64
3.2 portable

Single Instance Option

if user open an image by double clicking it from a file browser, a tab should be added to an existing instance rather than opening a new instance.

SVG support

Is it possible that nomacs read SVG files? On Linux OS, it's not that hard to read them, there's some others images viewers, but on Windows, there's not much, and really, it would be good. I don't know if it's hard or not to do, I just ask to know if you want/plan it.

Build Nomacs on Ubuntu 14.04

Hi all ,

i am trying to build nomacs for master branch but i found this , what should i do ?

Thanks

[ 1%] Building CXX object CMakeFiles/nomacs.dir/src/DkViewPort.cpp.o
In file included from /usr/include/exiv2/metadatum.hpp:39:0,
from /usr/include/exiv2/exif.hpp:34,
from /usr/include/exiv2/bmpimage.hpp:34,
from /usr/include/exiv2/exiv2.hpp:35,
from /home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkMetaData.h:49,
from /home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkBasicLoader.h:37,
from /home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkImage.h:104,
from /home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.h:69,
from /home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.cpp:28:
/usr/include/exiv2/value.hpp:984:25: note: attribute for ‘struct Exiv2::DateValue::Date’ must follow the ‘struct’ keyword
EXIV2API struct Date
^
/home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.cpp: In member function ‘virtual void nmc::DkViewPortContrast::setImage(QImage)’:
/home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.cpp:2776:4: error: ‘vector’ was not declared in this scope
vector planes;
^
/home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.cpp:2776:4: note: suggested alternative:
In file included from /usr/include/c++/4.8/vector:64:0,
from /usr/include/qt5/QtCore/qmetatype.h:56,
from /usr/include/qt5/QtCore/qobject.h:56,
from /usr/include/qt5/QtWidgets/qwidget.h:46,
from /usr/include/qt5/QtWidgets/qdesktopwidget.h:45,
from /usr/include/qt5/QtWidgets/QDesktopWidget:1,
from /home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.h:31,
from /home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.cpp:28:
/usr/include/c++/4.8/bits/stl_vector.h:210:11: note: ‘std::vector’
class vector : protected _Vector_base<_Tp, _Alloc>
^
/home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.cpp:2776:14: error: expected primary-expression before ‘>’ token
vector planes;
^
/home/aly/projects/gsoc_projects/nomacs/ImageLounge/src/DkViewPort.cpp:2776:16: error: ‘planes’ was not declared in this scope
vector planes;
^
make[2]: *** [CMakeFiles/nomacs.dir/src/DkViewPort.cpp.o] Error 1
make[1]: *** [CMakeFiles/nomacs.dir/all] Error 2
make: *** [all] Error 2

Qt5Config.cmake

Hi, I've got in a mess for being adventurous.
Installing in ubuntu 15.10 following the instructions from the readme file:

1._ sudo apt-get install debhelper cdbs qt4-qmake libqt4-dev libexiv2-dev libraw-dev libopencv-dev cmake libtiff-dev git_ -Done-
2. git clone https://github.com/nomacs/nomacs.git -Done-
3._ Go to the nomacs/ImageLounge directory and run cmake to get the Makefiles
cmake . _-Done-

When running

cmake . -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_QT5=ON -DENABLE_QUAZIP=OFF -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt5

Command output:

-- QMake found: path: /usr/bin/qmake-qt5
CMake Error at cmake/Utils.cmake:243 (find_package):
By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5", but
CMake did not find one.

Could not find a package configuration file provided by "Qt5" with any of
the following names:

Qt5Config.cmake
qt5-config.cmake

Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files. If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:92 (NMC_FINDQT)

-- Configuring incomplete, errors occurred!
See also "/home/mcx/nomacs/ImageLounge/CMakeFiles/CMakeOutput.log".

Then I don't know what to do.

file filters don't work

nomacs browses inside zip files, even when the option is turned off
registring a file type, from the settings menu, also doesn't seem to work under KDE 5.12

Single Instance

Is this possible? I can't seem to find a setting for it in nomacs or settings.nfo

Win7 x64
3.2 portable

opening image with xdg-open, opens nomacs, on close, another image viewer is opened

Arch + i3wm

if I use xdg-open zzz.png, it gets opened in nomacs, then after closing, image is open again in another available application for viewing images.

I am not sure if this is nomacs issue, or my system issue, or xdg-open issue
but if I change the default application in mimeapps.list to gpicview or firefox then its fine

opening picture with nomacs zzz.png would work just fine, only when coupled with xdg it starts to have issues

Is there some non obvious functionality of nomacs that could be responsible for this?
I tried reseting to default settings and deleting the nomacs folder in ~/.config

when I tried at first removing the secondary opened applications from my system(mupdf, gpicview), it started to on close open nomacs again, and then after secondary close open firefox new tab with the picture

if nothing comes to mind then it might be just my screwed up system

Add option to disable horizontal scrolling

Trackpoints provide both vertical and horizontal scrolling. However, it is pretty hard to scroll vertically without accidentally moving your trackpoint horizontally.

In nomacs horizontal scrolling switches between pictures in the folder. This means that whenever I try to zoom in I accidentally change the picture (well, unless I'm very accurate). This is very annoying.

Please add an option to disable this functionality for horizontal scrolling.

Use native Qt icons

Hi there

Is it possible to use my native icons, which are used for every other Qt programm on my system?

Build fails when OpenCV support disabled

When configured with cmake -DENABLE_OPENCV=OFF -DENABLE_RAW=OFF -DENABLE_TIFF=OFF, build fails:

/home/michael/dev/nomacs/ImageLounge/src/DkLoader/DkBasicLoader.cpp: In member function ‘bool nmc::DkBasicLoader::loadGeneral(const QString&, QSharedPointer<QByteArray>, bool, bool)’:

/home/michael/dev/nomacs/ImageLounge/src/DkLoader/DkBasicLoader.cpp:280:47: error: no matching function for call to ‘nmc::DkBasicLoader::loadOpenCVVecFile(QString&, QImage&, QSharedPointer<QByteArray>&)’
   imgLoaded = loadOpenCVVecFile(mFile, img, ba);

Incorrect include of png.h

The 44 line of DkMetaData.cpp contains #include "C:\Qt\qt-everywhere-opensource-src-4.8.5-x86-native-gestures\src\3rdparty\libpng\png.h" that obviously crashes linux build.

After changing it to #include <png.h> the build can go forward, but another error appears:

ImageLounge/src/DkBatch.cpp:181:28: error: invalid use of incomplete type «const class QMimeData» if (!mimeData || !mimeData->hasUrls()) ^ In file included from /usr/include/qt/QtWidgets/QTextEdit:1:0, from /ImageLounge/src/DkBatch.h:34, from /ImageLounge/src/DkBatch.cpp:28: /usr/include/qt/QtWidgets/qtextedit.h:53:7: error: forward declaration of «const class QMimeData» class QMimeData; ^ /ImageLounge/src/DkBatch.cpp:186:26: error: invalid use of incomplete type «const class QMimeData» for (QUrl url : mimeData->urls()) { ^ In file included from /usr/include/qt/QtWidgets/QTextEdit:1:0, from /ImageLounge/src/DkBatch.h:34, from /ImageLounge/src/DkBatch.cpp:28: /usr/include/qt/QtWidgets/qtextedit.h:53:7: error: forward declaration of «const class QMimeData» class QMimeData; ^ /ImageLounge/src/DkBatch.cpp: В функции-члене «virtual void nmc::DkInputTextEdit::dragEnterEvent(QDragEnterEvent*)»: /ImageLounge/src/DkBatch.cpp:215:28: error: invalid use of incomplete type «const class QMimeData» else if (event->mimeData()->hasUrls()) ^ In file included from /usr/include/qt/QtWidgets/QTextEdit:1:0, from /ImageLounge/src/DkBatch.h:34, from /ImageLounge/src/DkBatch.cpp:28: /usr/include/qt/QtWidgets/qtextedit.h:53:7: error: forward declaration of «const class QMimeData» class QMimeData; ^ /ImageLounge/src/DkBatch.cpp: В функции-члене «virtual void nmc::DkInputTextEdit::dragMoveEvent(QDragMoveEvent*)»: /ImageLounge/src/DkBatch.cpp:225:28: error: invalid use of incomplete type «const class QMimeData» else if (event->mimeData()->hasUrls()) ^ In file included from /usr/include/qt/QtWidgets/QTextEdit:1:0, from /ImageLounge/src/DkBatch.h:34, from /ImageLounge/src/DkBatch.cpp:28: /usr/include/qt/QtWidgets/qtextedit.h:53:7: error: forward declaration of «const class QMimeData» class QMimeData; ^

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.