[SOLVED] Errors building x64 SDK with Intel Compiler
-
Hi,
I need to build an x64 version of Creator so I can get my debugger working!
This is the configuration file I am using:
-debug-and-release -shared -static -platform win32-icc -nomake examples -nomake demos -no-qt3support -no-webkit
-no-phonon -qt-style-windowsvista -no-style-cde -no-style-cleanlooks -no-style-plastique -no-style-s60 -no-style-motif
-no-style-windowsmobile -no-style-windowsce -qt-sql-odbc -declarative -ltcg -no-opengl -no-openvg -graphicssystem raster
-no-libmng -no-libtiff -no-dsp -no-vcproj -incredibuild-xge -arch windows -opensource -saveconfig x64My build environment is :
Windows 7 Ultimate x64 (SP 1)
Qt SDK v4.7.2
Qt Creator v2.1.0 source
Intel Compiler v12.0.0.2However while trying to compile the SDK to get the required .DLLs it fails with the following error so I would appreciate your help on this.
@
output removed.
...
-I"..3rdpartyjavascriptcoreJavaScriptCoregenerated" -I"." -I"parser" -I"....includeActiveQt" -I"tmpmocdebug_static" -I"....mkspecswin32-icc" -Foobjdebug @C:UserswilliamAppDataLocalTempnm478D.tmp
JSBase.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
^JSCallbackConstructor.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
^JSCallbackFunction.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
^JSCallbackObject.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
^JSClassRef.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
^JSContextRef.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
^JSObjectRef.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
^JSValueRef.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
^OpaqueJSString.cpp
C:Qt4.7.2src3rdpartyjavascriptcoreJavaScriptCoreruntimeStructure.h(320): error: taking the address of a bit field is not allowed
add(std::make_pair(RefPtrUString::Rep(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
@--
Thanks,William
-
Do I understand the dump correctly in that you are building Qt, not Qt Creator?
I think Qt Creator does use WebKit, so disabling that is not the best idea. I am further surprised that -nomake works on windows... I thought it did not.
-
Hello Tobias,
Thank you for the reply and yes you are assuming correctly this output is from an SDK build so I can get the required .dll and .lib files needed to build a 64 bit Creator. I will re-run it with webkit enabled and post back.
Is there a way to build individual libraries?
Your comment about -nomake, I was unaware that this failed on Windows but I can see from the directory timestamps that you are correct. Here's me thinking I was saving time without it!
--
-
Well I have re-ran configure with the -no-webkit removed from the config file and re-built but I still get the same errors as originally described.
I am downloading the latest version of the Intel C++ Composer XE just now so once this is installed I will (yet again) do a complete re-configure / build.