Have a 32-64bit problem with OpenCV and Qt - qt

I have used OpenCV 3.2.0 since a long time ago.
Recently, I need to implement face detection with landmark detection so I decided to build the OpenCV again with extra OpenCV modules.
However, it seems that OpenCV 3.2.0 is not compatible with the latest extra OpenCV modules so I have to build it with the latest OpenCV (which is 4.0.0)
The problem is, I'm in a Catch 22 situation.
1. If I use mingw 32bit 5.1.0 to build OpenCV (which is a compiler bundled with Qt), I have a following error
CMakeFiles\opencv_core.dir/objects.a: member
CMakeFiles\opencv_core.dir/objects.a(vs_version.rc.obj) in archive is
not an object
2. If I use mingw 64bit 8.1.0 to build OpenCV, it works fine. However there are two situations that give me an error.
2.1. If I use mingw 32bit 5.1.0 to build a Qt Project with those OpenCV libs, it gives a following error.
D:\opencv-build\bin\libopencv_core400.dll:-1: error: file not
recognized: File format not recognized
I suspect that this has something to do with 32-64bit problem. The compiler may expect 32bit libs, but the libs are 64bit format because the compiler used to build OpenCV was 64bit mingw.
file format pei-i386
file format pei-x86-64
The first one is the file format of the OpenCV 3.2.0 libs which I used in the past and worked fine with Qt.
The second one is the file format of the OpenCV 4.0.0 libs newly built.
2.2 If I use mingw 64bit 8.1.0 to build a Qt Project with those OpenCV libs, it gives a following error.
collect2.exe: error: ld returned 5 exit status
I suspect that this occurred because basically Qt is for 32-bit, not 64-bit.
What I want to do is that building OpenCV 4.0.0 so that somehow the file format of those OpenCV libs is pei-i386, not pei-x86-64.
How can I achieve this?

Related

QT 5.2 has no kit or qmake with MingW after installation

I downloaded the QT 5.2 build for MingW/OpenGL build and installed it. When I run QTCreator and try to create a project, I can't set it up because there is no kit available to choose from. I have MingW installed, so I tried to point QT to this installation, but there is qmake as well missing. I'm not sure if the manual configuration of the compiler would suffice to have a kit to choose from, but that would be my expectation.
So the question is, how do I setup QT properly that it recognizes my MingW installation and how do I get qmake to continue with QT? After downloading a 600MB package I would have expected that it works out of the box.
OS is Windows 7 and my MingW uses gcc 4.8 so it should be the same version that QT brings in it's package as well.

Qt Creator needs a compiler set up to build. Configure a compiler in kit options

I just installed Qt 5.2 package on ubuntu. I simply created a Qt widget application, and when I tried to build it, I got the following message:
Qt Creator needs a compiler set up to build. Configure a compiler in
kit options
I have tried several things, all of which were unsuccessful. I tried setting the compiler kit to
Desktop Qt 5.2.0 GCC 32bit (default)
However it didn't work
After that I set the compiler to
GCC (x86 32bit in use/bin)
However that didn't work either.
I also tried adding gcc manually and gave it the path
/usr/bin/g++-4.6
but it still didn't work.
This is what appears in there Qt Version tab
This is what I get when I remove the .pro.user file and restart the IDE, Whats the difference between configuring a project as Desktop and Desktop Qt 5.2.0 GCC 32bit?
Qt Creator needs a version of tools that are able to link against the Qt binaries that the downloaded package contains. In your case, the local toolchain and the binaries don't match. That means that you would actually have to build the Qt with your toolkit and make sure that QtCreator can find the built binaries.
The simpler way for Ubuntu is to use the packaged version of the tools; they play well with the already delivered binaries. Use sudo apt-get install qtcreator to install it with all the dependencies.

Installing Qt 5.1.1 and qwt 6.1.0 on Ubuntu 12.04

I've recently came to linux from a 1 year Windows run in Qt so I don't know how this works exactly and couldn't find any thing decent. So here it is :
As is obvious from the title I'm trying to install Qt 5.1.1 and Qwt 6.1.0 in Ubuntu 12.04. I have written a project with the same versions in Windows and now I want to run the project in Linux. The problem is I don't know If I'm doing the installing process right!
I installed Qt 5.1.1 in /opt/qt5.1.1 and compiled Qwt 6.1.0 to /usr/local. I copied the files in include, lib, plugin/designer to the related folders in qt 5.1.1. After this the plugin is fine and I can see the .h files when I type include but when I want to run my project I get the error undefined reference to ... for every method or attribute of Qwt library used!
What am I doing wrong here?

cannot open input file Aggregation.lib while build Doxygen source with Qt

I'm using:
Qt 4.8.4
Qt Creator 2.7.0
Qt Creator source 2.7.0
Doxygen source Revision 57
Building Doxygen (Doxygen plugin for Qt) source [svn.kofee.org] with Qt 4.8.4 for Desktop – MSVC2010 and QtCreator 2.7.0 output the following:
-1: error: LNK1181: cannot open input file 'Aggregation.lib'
The plugin needs to be built against a fully compiled in situ qtcreator on Windows, unnecessary files are stripped from the distribution package but the compiler needs them to link the object codes together. You should ask on the website for a slightly quicker answer :)

Qt Creator 2.6.2 and Qt 4.8.4: Qt version is not properly installed

Windows 7: I have installed Qt 4.8.4 Win and Qt Creator 2.6.2 Win, VS2010 (from here). When I try to open a project (previously compiled with Qt 4.8.3 / Creator 2.5.2), it says I need a kit (no valid kit) and eventually I end up at Qt version is not properly installed. All is shown in the screenshots below.
I have checked some solutions:
SO QT version is not properly installed, please run make install is for Linux
Some say, I need to install Qt SDK, but where do I find this (this one contains older Creator / Qt versions), and what sense would the individual installers make if I need SDK?
Some say, I need to add Qt to path, but what exactly? Creator? The Qt 4.8.4, the qmake dir?
Somehow I fail with this make install, nothing happens.
I have installed the 5.0.1 including Creator 2.6.2 as one installation, this works. But when I then download 4.8.4. and try to add it as QT Version, same issue: Qt version is not properly installed
Any idea what I would need to do or install.
-- Edit -- List of trials ---
Added my Qt 4.8.4 and its qmake dir to PATH
Re-installed Qt in different order: Qt 4.8.4 first / Creator 2.6.2 thereafter
Opened Qt CMD Prompt qmake install (as in the suggestions): 4.8.4\install:1: Parse Error ('INSTALLING Qt Source Package Version 4.8.4.') Error processing project file: install
qmake install from Qt CMD. Runs 20 minutes, Laptop gets extremly hot, then it crashes
P:\Qt\Libs\4.8.4>qmake\qmake.exe install
QMAKESPEC has not been set, so configuration cannot be deduced.
Error processing project file: install
I had the same problem. Try to choose "qmake.exe" from the BIN folder, not the qmake folder, so in your case probably P:\Qt\Libs\4.8.4\bin\qmake.exe
Based on SO: How to install Qt on Windows after building? I eventually got to http://qt-project.org/doc/qt-4.8/install-win.html
Simply running configure solved it for me, I did not build, nothing else. The installer did apply several patches, so I still do not get why I have to run configure.

Resources