Very important after installing MSYS

Using MSYS with MinGW

It is convenient to have your MinGW installation mounted on /mingw, since /mingw is on MSYS PATH by default. For this to work, just type (assuming MinGW is on c:\mingw):

mount c:/mingw /mingw

mingw-get install autotools

To install 3rd party library and applications which uses the autotools build system the following commands are often used.

./configure –prefix=/mingw
make
make install

Posted in Qt

Build OpenSSL using MSYS

Download latest OpenSSL from http://www.openssl.org/source (e.g. openssl-1.0.1c.tar.gz)
Start a MSYS command prompt (C:\msys\1.0\msys.bat)
Extract tar.gz using MSYS tar (and ignore the symlink warnings)
don’t use 7zip or other apps, since they fail to set up any symlinks! tar will also complain about symlinks, but compilation will still succeed.

$ tar xvzf openssl-1.0.1c.tar.gz
$ cd openssl-1.0.1c

Check that gcc is in PATH, otherwise add it, e.g.

$ export PATH=/c/Mingw-builds/bin:$PATH

for MinGW (32 bit) do:

$ ./Configure –prefix=$PWD/dist no-idea no-mdc2 no-rc5 shared mingw

for MinGW-w64 do:

$ ./Configure –prefix=$PWD/dist no-idea no-mdc2 no-rc5 shared mingw64

Compile & install:

$ make depend && make && make install

Posted in Qt

What is __gxx_personality_v0 and its solutions

Intro
It is used in the stack unwiding tables, which you can see for instance in the assembly output of my answer to another question. As mentioned on that answer, its use is defined by the Itanium C++ ABI, where it is called the Personality Routine.

The reason it “works” by defining it as a global NULL void pointer is probably because nothing is throwing an exception. When something tries to throw an exception, then you will see it misbehave.

Solution 1

Of course, if nothing is using exceptions, you can disable them with -fno-exceptions (and if nothing is using RTTI, you can also add -fno-rtti). If you are using them, you have to (as other answers already noted) link with g++ instead of gcc, which will add -lstdc++ for you.

Solution 2
But in my case it comes because of wrong version of mingw32-make is used. It was compiling correctly but failed linking exe.
Finally I have to remove all other version except Qt inbuilt one.

Posted in MinGW, MSYS, WINDOWS Tagged , ,

Qt Flags Info

$(ENV_VAR) : Point local variable

$$(ENV_VAR) : Access global environment variable and more like qmake way

QMAKE_CXXFLAGS += $$(CXXFLAGS)
QMAKE_CFLAGS += $$(CFLAGS)
QMAKE_LFLAGS += $$(LDFLAGS)

This makes qmake respect those environment variables. Note that qmake uses LFLAGS instead of LDFLAGS.

Also

For all type of builds
QMAKE_CXXFLAGS += -O1

If you would like to apply flags to just the release build, then you can use this:
QMAKE_CXXFLAGS_RELEASE += -O1

You also probably want to change your condition to be a little more flexible. In summary, something like this:
*-g++* {
QMAKE_CXXFLAGS += -O1
}

Posted in Qt Tagged , , , , , ,

Privacy Policy Sample

PRIVACY POLICY
WHAT INFORMATION DO WE COLLECT?
COMPANY NAME collects information from you when you register on our site, place an order, subscribe to our newsletter or fill out a form. When ordering or registering on our site, as appropriate, you may be asked to enter your name, e-mail address, mailing address, phone number. You may, however, visit our site anonymously.

WHAT DO WE USE YOUR INFORMATION FOR?
Any of the information we collect from you may be used in one of the following ways:
To personalize your experience (your information helps us to better respond to your individual needs)
To improve our website (we continually strive to improve our website offerings based on the information and feedback we receive from you)
To improve customer service (your information helps us to more effectively respond to your customer service requests and support needs)
To process transactions your information, whether public or private, will not be sold, exchanged, transferred, or given to any other company for any reason whatsoever, without your consent, other than for the express purpose of delivering the purchased product or service requested.
To administer a contest, promotion, survey or other site feature
To send periodic emails the email address you provide for order processing, will only be used to send you information and updates pertaining to your order.

HOW DO WE PROTECT YOUR INFORMATION?
COMPANY NAME implements a variety of security measures to maintain the safety of your personal information when you place an order or enter, submit, or access your personal information. We have implemented Internet Gateway Security & CRM Solution at our office.

We offer the use of a secure server. All supplied sensitive/credit information is transmitted via Secure Socket Layer (SSL) technology and then encrypted into our Payment gateway providers database only to be accessible by those authorized with special access rights to such systems, and are required to keep the information confidential.

DO WE USE COOKIES?
Yes (Cookies are small files that a site or its service provider transfers to your computer hard drive through your Web browser (if you allow) that enables the sites or service providers systems to recognize your browser and capture and remember certain information We use cookies to help us remember and process the items in your shopping cart and understand and save your preferences for future visits.

DO WE DISCLOSE ANY INFORMATION TO OUTSIDE PARTIES?
COMPANY NAME does not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our website, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. Any unauthorized access to COMPANY NAME server is strictly prohibited. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.

ONLINE PRIVACY POLICY ONLY
This online privacy policy applies only to information collected through our website.

YOU’RE CONSENT
By using our site, you consent to our website privacy policy and all terms and conditions.

CHANGES TO OUR PRIVACY POLICY
If we decide to change our privacy policy, we will post those changes on this page.

CONTACTING US
If there are any questions regarding this privacy policy you may contact us using the information our Website Address or Email address

Disclaimer: COMPANY NAME is a THIRD-PARTY SERVICE provider for software related issues in desktops, laptops, and peripherals. We provide services through our pool of rained specialists and experts. The brand names, trademarks, logos, company names used in the site and belong to their respective owners. Brand names, trademarks, logos, company names used in the site are for representation purposes only.

Posted in Qt

Number to QString and From wide char array to QString

Number to QString
QString::number(PROCESSORINFO.ProcessorType)

From wide char array to QString
QString::fromWCharArray(PROCESSORINFO.SocketDesignation)

Posted in Qt Tagged , , ,

SQLITE MINGW and MSYS installation on windows

Install SQLite3 from source codes on MinGW and MSYS

At SQLite3 download page,choose sqlite-amalgamation-3.7.3.tar.gz, neither sqlite-amalgamation-3.7.3.zip nor sqlite-3.7.2.zip.

For MinGW and MSYS, sqlite-amalgamation-X.X.X.tar.gz is best and only source tarball.

Instrunctions on MinGW and MSYS are below:

> tar -zxvf sqlite-amalgamation-3.7.3.tar.gz
> cd sqlite-3.7.3
> ./configure –prefix=c:/sqlite3
> make
> make install

Either please paste libsqlite3-0.dll. inside /mingw/bin or

set “c:/sqlite3/bin” to PATH for loading libsqlite3-0.dll.

You are done

Posted in Command, MinGW, MSYS, Qt, WINDOWS Tagged , , , ,

MSYS , MinGW : /home/keith/staged/mingw32 problems

It may produce many errors like

>> CCLD libcharset.la
>> /bin/grep: /home/keith/staged/mingw32/lib/libiconv.la: No such file or
>> directory
>> /bin/sed: can’t read /home/keith/staged/mingw32/lib/libiconv.la: No
>> such file or directory
>> libtool: link: `/home/keith/staged/mingw32/lib/libiconv.la’ is not a
>> valid libtool archive

and so on.

Solution
Problem is MSYS contains hardlink links which are invalid. so search from root of MinGW .
You can achieve by searching /home/keith/staged/mingw32/ and wherever you found simple remove links.

That’s it.

It’s a bug in MSYS. We need to report this. I haven’t.

Posted in Command, MinGW, MSYS, Qt, WINDOWS Tagged , , ,

OPENSSL fatal error : OPENSSL_Uplink(014CF020,06): no OPENSSL_Applink

OPENSSL_Uplink(014CF020,06): no OPENSSL_Applink

Solution

You have to have the two files Libeay32.dll and Ssleay32.dll which is used to compile code. Using different version create this problem.

Posted in Command, MinGW, MSYS, Qt, WINDOWS Tagged , ,

pkg-config in Qt : Makes it rock solid and easy

Using pkg-config in qmake

CONFIG += link_pkgconfig # this is important
PKGCONFIG += libname

example
CONFIG += warn_on link_pkgconfig
PKGCONFIG += libsearpc libccnet libseafile glib-2.0 sqlite3 jansson openssl

Also

CONFIG += link_pkgconfig

packagesExist(glib-2.0) {
DEFINES += HAS_GLIB
PKGCONFIG += glib-2.0
}

// and in the code:
#ifdef HAS_GLIB
// use glib here
#endif

Posted in Command, MinGW, MSYS, Qt, WINDOWS Tagged ,