I am trying to compile a cmake project for symbian using QtSDK (Qt 4.7).
When I build it within the Qt Creator, I get these errors:
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h:46: error: e32std.h:
No such file or directory
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h: In member
function 'bool QBasicAtomicInt::ref()':
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h:135: error: 'User'
has not been declared
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h:135: error: 'TInt' was not declared in this scope
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h:135: error: expected primary-expression before ')' token
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h: In member function 'bool QBasicAtomicInt::deref()':
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h:141: error: 'User' has not been declared
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h:141: error: 'TInt' was not declared in this scope
C:/QtSDK/Symbian/SDKs/Symbian3Qt473/include/QtCore/qatomic_symbian.h:141: error: expected primary-expression before ')' token
I have checked that e32std.h exists at C:\QtSDK\Symbian\SDKs\Symbian3Qt473\epoc32\include
But still these errors occur.
It seems to me that cmake is not able to find the correct architecture for compilation.
I am using cmake for windows.
What could be the problem ?
Related
This is the demo on Tencent's audio and video real-time processing. I downloaded it from the website and compiled it with QT Creator5.14.2 MinGW 32 bit. The following error occurred:
E:\Qt\qtcode\TXLiteAVSDK_TRTC_Win_latest\TRTC-API-Example-Qt\src\Util\win\zlib\x86\zlibstatic.lib(zlibstatic.dir\Release\crc32.obj):-1: error: undefined reference to `#__security_check_cookie#4'
E:\Qt\qtcode\TXLiteAVSDK_TRTC_Win_latest\TRTC-API-Example-Qt\src\Util\win\zlib\x86\zlibstatic.lib(zlibstatic.dir\Release\adler32.obj):-1: error: undefined reference to `_alldiv'
:-1: error: collect2.exe: error: ld returned 1 exit status
I searched the Demo question on the Internet, but basically used vs code instead of QT Creator+MinGW
With the enthusiastic help of SO netizens, I configured all the environments required for ASAP (Automated Slide Analysis Platform)
The necessary libraries including Boost, Openslide, Qt, etc. have been successfully linked, but the following error occurred
====================[ Build | ASAP | Debug ]====================================
"D:\_Jason\Clion\CLion 2021.2.2\bin\cmake\win\bin\cmake.exe" --build D:\_Jason\C++_hospital\orignal\CLion1.9\ASAP-1.9\cmake-build-debug --target ASAP -- -j 9
[ 25%] Automatic MOC and UIC for target ASAP
[ 25%] Built target ASAP_autogen
[ 50%] Linking CXX executable ASAP.exe
CMakeFiles\ASAP.dir/objects.a(main.cpp.obj): In function `main':
D:/_Jason/C++_hospital/orignal/CLion1.9/ASAP-1.9/ASAP/main.cpp:6: undefined reference to `__imp__ZN12QApplicationC1ERiPPci'
D:/_Jason/C++_hospital/orignal/CLion1.9/ASAP-1.9/ASAP/main.cpp:7: undefined reference to `__imp__ZN4ASAPC1EP7QWidget'
D:/_Jason/C++_hospital/orignal/CLion1.9/ASAP-1.9/ASAP/main.cpp:8: undefined reference to `__imp__ZN7QWidget4showEv'
D:/_Jason/C++_hospital/orignal/CLion1.9/ASAP-1.9/ASAP/main.cpp:10: undefined reference to `__imp__ZN12QApplication4execEv'
D:/_Jason/C++_hospital/orignal/CLion1.9/ASAP-1.9/ASAP/main.cpp:7: undefined reference to `__imp__ZN4ASAPD1Ev'
D:/_Jason/C++_hospital/orignal/CLion1.9/ASAP-1.9/ASAP/main.cpp:6: undefined reference to `__imp__ZN12QApplicationD1Ev'
D:/_Jason/C++_hospital/orignal/CLion1.9/ASAP-1.9/ASAP/main.cpp:7: undefined reference to `__imp__ZN4ASAPD1Ev'
D:/_Jason/C++_hospital/orignal/CLion1.9/ASAP-1.9/ASAP/main.cpp:6: undefined reference to `__imp__ZN12QApplicationD1Ev'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[3]: *** [CMakeFiles\ASAP.dir\build.make:111: ASAP.exe] Error 1
mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:163: CMakeFiles/ASAP.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:170: CMakeFiles/ASAP.dir/rule] Error 2
mingw32-make.exe: *** [Makefile:168: ASAP] Error 2
It can be seen from "__imp__ZN12QApplicationD1Ev" that this is a Qt problem. The solution they gave in other forums is to add the statement QT += gui widgets core to the .pro file under this project.However, there is no .pro file in the ASAP source code, so I tried to use the qmake -project command to generate the .pro file. It still doesn't work after adding QT += gui widgets core
I was using sibilingAtColumn to get data from qtableview.
The code was compiled successfully on MacOS, however it raised error when compiling on linux.
The Error was error: ‘class QModelIndex’ has no member named ‘siblingAtColumn’.
How to solve this problem
I'm using qt5.5 in linux and win7 (mingw32) ... in linux it works (i had to build new usblibs for compatibility reasons)
in windows using this library
/usr/local/.../code-qt/libusb-1.0.19-rc1-win/MinGW32/static/
i get the following errors and a few more, all with some
"_imp__SetupDixxxxxxx" being undefined
since the libusb build in windows seems quite more complicated, i was unable to figure out how to do it
at this point i have no clue what is wrong and any help is highly appreciated
i have no problems rebuilding the lib with ming32w inside or outside of qt5 creator or any other way, but i would need to have a few steps described on how to proceed.
cheers EinHexenMeister
E:\code-qt\qtHidTest\HidTest\windows\hid.c:289: error: undefined reference to `_imp__SetupDiGetClassDevsA#16'
E:\code-qt\qtHidTest\HidTest\windows\hid.c:298: error: undefined reference to `_imp__SetupDiEnumDeviceInterfaces#20'
E:\code-qt\qtHidTest\HidTest\windows\hid.c:491: error: undefined reference to `_imp__SetupDiDestroyDeviceInfoList#4'
E:\code-qt\qtHidTest\HidTest\windows\hid.c:313: error: undefined reference to `_imp__SetupDiGetDeviceInterfaceDetailA#24'
E:\code-qt\qtHidTest\HidTest\windows\hid.c:347: error: undefined reference to `_imp__SetupDiEnumDeviceInfo#12'
You need to link additional libraries for windows, add in your .pro file:
win32 {
LIBS += -lhid -lsetupapi
}
I am trying to statically link a Qt library I am building to Botan using MSVC on Windows and am receiving the following error.
..\..\3rdparty\temp\botan-msvc\build\include\botan/secmem.h(129) : error C2589: '(' : illegal token on right side of '::'
..\..\3rdparty\temp\botan-msvc\build\include\botan/secmem.h(128) : while compiling class template member function 'void Botan::MemoryRegion<T>::copy(const T [],size_t)'
with
[
T=Botan::byte
]
..\..\3rdparty\temp\botan-msvc\build\include\botan/buf_comp.h(41) : see reference to class template instantiation 'Botan::MemoryRegion<T>' being compiled
with
[
T=Botan::byte
]
..\..\3rdparty\temp\botan-msvc\build\include\botan/secmem.h(129) : error C2059: syntax error : '::'
This does not occur with MinGW. It also occurs when I comment out all Botan-related code. What does this mean and how can I solve it - also why does it not occur with MinGW?
I was able to figure out the issue with help from Jack Lloyd's comment. Apparently something that's included through one path or another #defined "min". I just undefined it and my library compiles and links perfectly. Thanks Jack!