I'm developing a application on Qt Creator Comunnity, Qt Version 5.4.2 on Ubuntu Vivid(15.04). At my computer, the program works fine. But when i run the program on a Ubuntu 14.04 LTS the following error occurs:
undefined symbol: _ZN13QOpenGLWidgetC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE
Did it happen because of the kernel version?
On Vivid you have Qt 5.4.1, on Trusty you have Qt 5.2.1.
You can't run a program compiled with a later Qt version on a machine shipping an earlier one.
Related
I need to compile the library mp4v2 in Windows 10 x64 using Qt creator.
The INSTALL file indicates ./configure should, but I'm using Windows so the command does not exist. How can I solve this problem?
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?
I created a development environment with Fedora 18 and Qt 5
When I compile my app it will be 64 bit, and depend on Qt 5. After some research it seems that will be a problem since Centos 6.x is still dependong on Qt 4.6, and Centos 5.x is dependant on earlier Qt, and I'm guessin Ubuntu has its own package limitations.
Is there a "safe" version of Qt I can compile against to ensure it runs everywhere? If not, how can I expect customers to run my program?
If you want to target Linux, then I would recommend using Qt 4.8 (available on most of the Linux Distros), forget about Qt 5 for a year or so. Hardly any Linux distro other than Ubuntu 13.04 and above comes with Qt 5.
Secondly, as far as compiling is considered, if you wish to target Linux distros other than Ubuntu and Fedora than never use Ubuntu or Fedora for compilation. These are bleeding edge Linux distros which include new libraries without much testing. You will not only face the problem of old Qt versions in some Linux distros as you will face the bigger problem of glibc (C library). Make sure the Linux distro you use for compilation has a minimum possible glibc version for Qt 4.8, otherwise even if any Linux distro has Qt 4.8 installed, but has a lower version of glibc, you app still won't run. You can check out distrowatch.com to find out glibc and Qt versions for any Linux Distro
Example:
I compiled my app on Ubuntu 12.04, Qt 4.8.1 with glibc v 2.16 (perhaps). I got a bug report than application does not run on CrunchBang which also has Qt 4.8.1 available but since it is a Debian unstable Linux Distro it uses glibc v2.13. Since that day I always compile my application on CrunchBang (very lighweight, you can Virtual Box for this) and hardly some one complains now.
As far as CentOs is considered, you will need to recompile your code on CentOS.
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.
I succesfully build Qt 4.8 (without QtWebKit) on CentOS 5.8 (Qt Assistant and the demo's run fine). I also built Qt Creator 2.4.1 against Qt 4.8. I did not observe any errors during the process of building Qt Creator. However, when I attempt to run Qt Creator I receive the following error:
[root#localhost bin]# ./qtcreator
Cannot resolve 'dbus_get_version' in your libdbus-1.
Aborted
Has anybody encountered this error before? How did you fix it? Unfortunately upgrading to a better OS (such as Ubuntu) is not an option for me.
Thanks,
David
QtDBus module loads libdbus-1 library in runtime (via dlopen). That's why you don't have compile/link errors.
You can try either to upgrade dbus package (or whatever package contains libdbus-1.so) or use previous version of Qt.
(In Gentoo QtDBus-4.8 depends on dbus-1.2 and QtDBus-4.7.4 depends on dbus-1.0.2).