$ qmake qtcreator.pro
$ make
Ради интереса, я попробовал так же скомпилировать его и под Windows. Вот что выдал линкер:
link /LIBPATH:"d:\Qt\4.6.2-ICC\lib" /NOLOGO /DLL /OUT:..\..\..\lib\qtcreator\plugins\Nokia\Debugger.dll @C:\DOCUME~1\alex\LOCALS~1\Temp\nmB5.tmp
Creating library ..\..\..\lib\qtcreator\plugins\Nokia\Debugger.lib and object ..\..\..\lib\qtcreator\plugins\Nokia\Debugger.exp
sharedlibraryinjector.obj : error LNK2019: unresolved external symbol __imp__LookupPrivilegeValueW@12 referenced in function "private: bool __thiscall Debugger::Internal::SharedLibraryInjector::escalatePrivileges(class QString *)" (?escalatePrivileges@SharedLibraryInjector@Internal@Debugger@@AAE_NPAVQString@@@Z)
sharedlibraryinjector.obj : error LNK2019: unresolved external symbol __imp__OpenProcessToken@12 referenced in function "private: bool __thiscall Debugger::Internal::SharedLibraryInjector::escalatePrivileges(class QString *)" (?escalatePrivileges@SharedLibraryInjector@Internal@Debugger@@AAE_NPAVQString@@@Z)
sharedlibraryinjector.obj : error LNK2019: unresolved external symbol __imp__AdjustTokenPrivileges@24 referenced in function "private: bool __thiscall Debugger::Internal::SharedLibraryInjector::escalatePrivileges(class QString *)" (?escalatePrivileges@SharedLibraryInjector@Internal@Debugger@@AAE_NPAVQString@@@Z)
..\..\..\lib\qtcreator\plugins\Nokia\Debugger.dll : fatal error LNK1120: 3 unresolved externals
Creating library ..\..\..\lib\qtcreator\plugins\Nokia\Debugger.lib and object ..\..\..\lib\qtcreator\plugins\Nokia\Debugger.exp
sharedlibraryinjector.obj : error LNK2019: unresolved external symbol __imp__LookupPrivilegeValueW@12 referenced in function "private: bool __thiscall Debugger::Internal::SharedLibraryInjector::escalatePrivileges(class QString *)" (?escalatePrivileges@SharedLibraryInjector@Internal@Debugger@@AAE_NPAVQString@@@Z)
sharedlibraryinjector.obj : error LNK2019: unresolved external symbol __imp__OpenProcessToken@12 referenced in function "private: bool __thiscall Debugger::Internal::SharedLibraryInjector::escalatePrivileges(class QString *)" (?escalatePrivileges@SharedLibraryInjector@Internal@Debugger@@AAE_NPAVQString@@@Z)
sharedlibraryinjector.obj : error LNK2019: unresolved external symbol __imp__AdjustTokenPrivileges@24 referenced in function "private: bool __thiscall Debugger::Internal::SharedLibraryInjector::escalatePrivileges(class QString *)" (?escalatePrivileges@SharedLibraryInjector@Internal@Debugger@@AAE_NPAVQString@@@Z)
..\..\..\lib\qtcreator\plugins\Nokia\Debugger.dll : fatal error LNK1120: 3 unresolved externals
Ну, не больно-то и хотелось- код, который генерит MSVC, и так хорошо оптимизирован, чего еще надо.
Получается, что на Ubuntu я пока не могу перейти на Qt Creator, построенный с ICC. Затык по-прежнему в компиляции самой Qt. Я обновил пост про Qt, в котором написал, как ее собирать с ICC, какие проблемы при этом возникли. Я туда добавил фрагмент файла, который ICC не переваривает. Как дойдут руки, посмотрю, как заставить его компиляться.
Кстати, под Windows Qt с ICC собралась замечательно. Однако, тут сам Qt Creator не хочет линковаться...
В файле src/plugins/debugger/debugger.pro надо в параметре LIBS добавить -ladvapi32:
ОтветитьУдалитьLIBS *= -lole32 \
-lshell32 \
-ladvapi32
}
или в makefile.release, добавить advapi.lib в параметр LIBS