QtSerialPort
-
I planned to play with QtSerialPort but it seems that I can not build it (under 4.8.3) because MinGW give an error:
@
c:/qt_lib/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../libmingw32.a(main.o): In functionmain': C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to
WinMain@16'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [release\libSerialPort.a] Error 1
mingw32-make[2]: Leaving directoryC:/Qt_lib/qtserialport/src-build-Desktop_Qt_4_8_3_MinGW-Release/serialport' mingw32-make[1]: *** [release] Error 2 mingw32-make[1]: Leaving directory
C:/Qt_lib/qtserialport/src-build-Desktop_Qt_4_8_3_MinGW-Release/serialport'
mingw32-make: *** [sub-serialport-make_default] Error 2
11:08:20: The process "C:\Qt_lib\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project src (target: Desktop Qt 4.8.3 MinGW)
When executing step 'Make'
@
I tried to build with MSVC 2010 ( qt 5.0.0) but another error:
@
:-1: error: Failed to run: C:\Qt_lib\5.0.0-beta2\msvc2010\bin\syncqt.bat -module QtAddOnSerialPort -mkspecsdir C:\Qt_lib\5.0.0-beta2\msvc2010/mkspecs -outdir C:/Qt_lib/qtserialport
@
How can I fix this?
Thanks for answers in advance![code tags added, koahnig]
-
- About Qt4.8.3 and MinGW.
If you use ready made Qt 4.8.3 libraries from Digia's site that:
-
`WinMain@16' - this is a Qt bug, please find solution in Google,
(or for Russian see "this":http://www.prog.org.ru/index.php?topic=23489.msg166069#msg166069 and translate on Google translator) -
For Qt 4.8.3 need use MinGW 4.4, but not 4.6...
- About Qt5 and MSVC 2010
There should be without errors. I will try check again.
-
Thanks, I will digg on it! If you want some log files, welcome!
-
bq. Thanks, I will digg on it! If you want some log files, welcome!
I'm try build on Qt5-beta1, all building is fine, without errors.
-
bq. I tried to build with MSVC 2010 ( qt 5.0.0) but another error:
QtSerialPort has nothing to do with this error.
If you looked closely compiler log then would see what Qt5 is required to build "perl.exe". -
I installed perl, but now the error if I want to build for MSVC2010 is:
Could not find any sync.profile for your module!The complete log:
22:03:34: Running steps for project src...
22:03:34: Starting: "C:\Qt_lib\5.0.0-beta2\msvc2010\bin\qmake.exe" C:\Qt_lib\qtserialport\src\src.pro -r -spec win32-msvc2010 "CONFIG+=debug" "CONFIG+=qml_debug"
Reading C:/Qt_lib/qtserialport/src/serialport/serialport.pro [C:/Qt_lib/qtserialport/src-build-Desktop_Qt_5_0_0_beta2_MSVC2010_32bit_SDK-Debug/serialport]
Could not find any sync.profile for your module!
Pass <module directory> to syncqt to sync your header files.
syncqt failed at C:\Qt_lib\5.0.0-beta2\msvc2010\bin\syncqt line 775.
Project MESSAGE: C:\Qt_lib\5.0.0-beta2\msvc2010\bin\syncqt.bat -module QtAddOnSerialPort -mkspecsdir C:\Qt_lib\5.0.0-beta2\msvc2010/mkspecs -outdir C:/Qt_lib/qtserialport
Project ERROR: Failed to run: C:\Qt_lib\5.0.0-beta2\msvc2010\bin\syncqt.bat -module QtAddOnSerialPort -mkspecsdir C:\Qt_lib\5.0.0-beta2\msvc2010/mkspecs -outdir C:/Qt_lib/qtserialport
22:03:34: The process "C:\Qt_lib\5.0.0-beta2\msvc2010\bin\qmake.exe" exited with code 3.
Error while building/deploying project src (target: Desktop Qt 5.0.0 beta2 MSVC2010 32bit (SDK))
When executing step 'qmake'I can build and run QextSerialPort very well, but I want to compare the two libs (QextSerialPort and QtSerialPort) and choose one for a project...
Please give an idea how to build this QtSerialPort. I tried to copy sync.profile in several location but failed evry time. Thanks in advance!
-
Why not put the translation here?
On Path where Qt was installed open the file: mkspecs\win32-g++\qmake.conf
There are 2 changes todo:
First find the line with:
CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_headerand add dll like this:
CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header dll
second find the line with:
QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
and put below:
QMAKE_RCC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}rcc.exeThat was found "here":http://www.prog.org.ru/index.php?topic=23489.msg166069#msg166069.
-
2 AttilaPethe
I newly checked out the build QtSerialPort add-on with QtCreator 2.6 & Windows 7 x32 & MSVC 2010 compiler & Qt5-beta2-msvc2010.
All the compiled fine, just open qtserialport.pro from QtCreator and build.
Also try remove all *.user files and build directory and try build again.
2 israelins85
Thx.
-
Great! Now I managed to compile under MinGW. Thanks a lot. Congratulations for YOU.
But under msvc2010 steel have trouble: The whole log is here:15:35:50: Running steps for project src...
15:35:50: Starting: "C:\Qt_lib\5.0.0-beta2\msvc2010\bin\qmake.exe" C:\Qt_lib\qtserialport\src\src.pro -r -spec win32-msvc2010
Reading C:/Qt_lib/qtserialport/src/serialport/serialport.pro [C:/Qt_lib/qtserialport/src-build-Desktop_Qt_5_0_0_beta2_MSVC2010_32bit_SDK-Release/serialport]
Could not find any sync.profile for your module!
Pass <module directory> to syncqt to sync your header files.
syncqt failed at C:\Qt_lib\5.0.0-beta2\msvc2010\bin\syncqt line 775.
Project MESSAGE: C:\Qt_lib\5.0.0-beta2\msvc2010\bin\syncqt.bat -module QtAddOnSerialPort -mkspecsdir C:\Qt_lib\5.0.0-beta2\msvc2010/mkspecs -outdir C:/Qt_lib/qtserialport
Project ERROR: Failed to run: C:\Qt_lib\5.0.0-beta2\msvc2010\bin\syncqt.bat -module QtAddOnSerialPort -mkspecsdir C:\Qt_lib\5.0.0-beta2\msvc2010/mkspecs -outdir C:/Qt_lib/qtserialport
15:35:50: The process "C:\Qt_lib\5.0.0-beta2\msvc2010\bin\qmake.exe" exited with code 3.
Error while building/deploying project src (target: Desktop Qt 5.0.0 beta2 MSVC2010 32bit (SDK))
When executing step 'qmake'No more steps only the qmake. I checked sync.profile and it seems all right. No idea why is not found. Even I tryed to copy to several place but steel is unfound... I use W7Pro 64bit...
-
If I look to that line in syncqt:
if we have no $basedir we cannot be sure which sources you want, so die
die "Could not find any sync.profile for your module!\nPass <module directory> to syncqt to sync your header files.\nsyncqt failed" if (!$basedir);
But if we look closer we can see that:
$basedir = locateSyncProfile($out_basedir);
furthermore: our $out_basedir = getcwd();
And the Cwd, pathname of current working directory is specifyed automaticly by Qt in the project settings as C:\Qt_lib\qtserialport\src-build-Desktop_Qt_5_0_0_beta2_MSVC2010_32bit_SDK-Release.
Where can be the bug?
Perl fails to get the curent working directory name? About $basedir it says that: undefined value. -
I do not know.
You have installed ActivePerl or another?
Because needed ActivePerl.
PS: I have successfully built Qt5-beta2 + QtCreator 2.6 + Microsoft SDK 7.1 and on Win7x64.
-
I have ActivePerl 5.16.1 Build 1601 (64-bit), Qt5-beta2 + QtCreator 2.6 + Microsoft SDK 7.0A and on Win7pro×64. I think the error is in perl or perl script. The script is executed, only $basedir remain undefined. I have no perl knowledge but I will dig it soon. The error is in lines:
our $out_basedir = getcwd();
$basedir = locateSyncProfile($out_basedir);
I will try to specify $basedir manually in perl script and see if getcwd() returns the working directory or not. But this is not a long term solution. (I mention again that in the project configuration the out directories are present.) -
I do not acknowledge the problem.
I again checked the compilation with the environment similar as you:
ActivePerl 5.16.1 Build 1601 (64-bit),
Qt5-beta2 + QtCreator 2.6
Microsoft Visual Studio 2010 (SDK 7.0A)
Win7pro×64.All compiled fine.
-
I compiled well under Qt5 but only after I specify manually the output directory in the qtsync script. I changed line 78 from
@our $out_basedir = getcwd();@to
@our $out_basedir = "C:/myqtserialportlocation";@
After this the compilation went well.
Thanks for help!