My development environment:
Windows7 32bit + Qt4.6.2 + GCC
Application files:
-myApp.exe
-libeay32.dll
-libssl32.dll
-libgcc_s_dw2-1.dll
-mingwm10.dll
-qca2.dll
-qoauth1.dll
-QtCore4.dll
-QtGui.4dll
-Qnetwork4.dll
-QxtCore.dll
-QxtGui.dll
-ssleay32.dll
-myAppCore.dll
-myAppUtils.dll
\crypto
-qca-ossl2.dll
\plugins
-myPlugin1.dll
-myPlugin2.dll
PS:myPlugin1.dll and myPlugin2.dll depends all the other dlls inside the app's folder.
Issus:
My app works under windows7 (my pc and my friend's pc).
And I have release it to a community. As far as I can see, it works for some computers. But on some windows xp, it gets runtime error.
I have inspect it a bit, and here's how my code do the work:
First, I use a QPluginLoader instance to load the myPlugin1.dll and I get a IPlugin instance (defined in my code) by calling QPluginLoder::instance();
Then when user click a button (which will cause the runtime error), it will call IPlugin::createNewContent();
In createNewContent(), the code will need qoauth to generate http request header.
And the qoauth will need the qca2 and openssl to do the encryption.
There was a time I'm testing it under windows xp. I forgot to ship my code with the "crypto" folder, and I met the "Runtime Error". After I copy the crypto folder into my app's folder, it worked without errors.
So, I suspect that in some windows xp, the /crypto/qca-ossl2.ll isn't loaded.
I don't know how to fix it......
Another issue:
I also build it with MSVC 2008. It works flawlessly in my pc (win7 32bit). But I try it on a windows xp, the text becomes unrecognizable.
It was because, MSVC insist that I must save my source code with GB2312 or UTF-8(BOM) encoding (There're Chinese inside the code).
If I can save my code with UTF-8 (no BOM) and compiles it with MSVC 2008, then I think I will solve all the problems (both unrecognizable text and runtime errors)....
Can somebody help?
Bookmarks