$ ./configure -opensource -release -platform linux-icc -qt-sql-sqlite -plugin-sql-sqlite -webkit -nomake examples -nomake demos -no-qt3support -no-opengl -no-phonon -no-phonon-backend
При сборке под Windows все хорошо- ICC собирает все подряд без ошибок, а вот под Ubuntu возникает проблема. Полностью она изложена в QTBUG-9172 и в WebKit Bug 36422, вкратце- вот что выдается компилятором ICC:
../JavaScriptCore/jit/JITStubs.cpp(108): error: expected an identifier
asm volatile (
^
asm volatile (
^
UPD: Файл, на котором компилятор ломается, находится в src\3rdparty\webkit\JavaScriptCore\jit\. А вот кусок кода, который не может быть разобран:
#if COMPILER(GCC) && PLATFORM(X86)
...
asm volatile (
...
asm volatile (
Практически это означает, что Qt Creator, даже если его и собрать под ICC, работать не будет, потому что нет нужных длл. Не знаю, может быть, ICC умеет делать такой же name mangling, как и GCC. Если это так, то возможно будет использование длллек прямо из Qt SDK. Однако, как этого добиться от ICC, я не знаю. В доках по ICC есть некоторая инфа по совмести с G++, буду смотреть.
UPD: WebKit Bug 36422 подтвержден Kent Hansen.
UPD2: WebKit Bug 36422 пофиксен и закрыт Oliver Goffart.
Проблема только с 32битной версией, в 64 все нормально
ОтветитьУдалитьСпасибо! У меня, к сожалению, нет 64-битной машины с линуксом. И времени, чтобы разобраться, в чем там разница в исходниках WebKit, тоже нет.
ОтветитьУдалить