Тема: Испытываю трудности со сборкой под MacOS
День добрый. Бьюсь уже достаточно долго со сборкой под макось, сейчас была очередная попытка собрать mytetra v1.44.31. (Да, я очень хочу иметь последнюю версию)
Сначала пробовал собирать с Qt 5.13 через QT Creator 4.9.1(правда написано что "основан на Qt 5.12.3", ? ).
При открытии файла проекта 'mytetra.pro' ошибок не выдает, но после сообщения:
"Project MESSAGE: touch mimeTeX qmake"
Следует:
"Индексатор С++: пропускается файл '...thirdParty/mimetex/texfonts.h' так как слишком большой"
Затем, когда жму "собрать проект mytetra", идет поток из 147 ошибок и предупреждений.
Все проблемы в файле mimetex.с и одна проблема в string.h, говорит мне креатор.
Вот так выглядит начало и конец консоли сборки через QT Creator 4.9.1:
12:28:05: Выполняются этапы для проекта mytetra...
12:28:05: Настройки не изменились, этап qmake пропускается.
12:28:05: Запускается: «/usr/bin/make» -j8
cd thirdParty/mimetex/ && ( test -e Makefile || /Users/yaroslav/Qt5.13.0/5.13.0/clang_64/bin/qmake -o Makefile /Users/yaroslav/Downloads/mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/mimetex.pro -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=qml_debug ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -pipe -DAA -g -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.12 -Wall -W -fPIC -DQT_QML_DEBUG -DQT_CORE_LIB -I../../../../mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex -I. -I/Users/yaroslav/Qt5.13.0/5.13.0/clang_64/lib/QtCore.framework/Headers -I. -I/Users/yaroslav/Qt5.13.0/5.13.0/clang_64/mkspecs/macx-clang -F/Users/yaroslav/Qt5.13.0/5.13.0/clang_64/lib -o ../../../../mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/build/obj/mimetex.o ../../../../mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c
In file included from ../../../../mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:434:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/string.h:160:7: error: conflicting types for 'strcasestr'
char *strcasestr(const char *__big, const char *__little);
^
../../../../mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:428:13: note: previous declaration is here
const char *strcasestr(const char *s1, const char *s2);
^
../../../../mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:4013:52: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
if ( strlen(outline)+strlen(outfield)+strlen(cr) >= maxlinelen /*won't fit*/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
... ... ...
... ... ...
../../../../mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:17874:1: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
< nbytes ) /* failed to write all bytes */
^ ~~~~~~
140 warnings and 1 error generated.
make[1]: *** [../../../../mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/build/obj/mimetex.o] Error 1
make: *** [sub-thirdParty-mimetex-mimetex-pro-make_first] Error 2
12:28:05: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/установке проекта mytetra (комплект: Desktop Qt 5.13.0 clang 64bit)
Во время выполнения этапа «Сборка»
Значит скачал я старую версию Qt 5.10.1 и креатор к нему v4.5.1, поставил, открываю mytetra.pro – сразу обозначаются две проблемы:
предупреждение: «/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang» используется qmake, но «/Users/yaroslav/Qt5.13.0/Qt Creator.app/Contents/Resources/clang/bin/clang» задан в комплекте.
Обновите комплект или выберите подходящей для вашей целевой платформы mkspec для qmake.
предупреждение: «/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++» используется qmake, но «/Users/yaroslav/Qt5.13.0/Qt Creator.app/Contents/Resources/clang/bin/clang» задан в комплекте.
Обновите комплект или выберите подходящей для вашей целевой платформы mkspec для qmake.
Тут мне становится понятно, что какая-то проблема с компилятором присутствует, тем не менее жму "собрать". Потому что совершенно не представляю как эту проблему решать.
Кстати, в сообщениях этой версии креатора так же выводится, что индексатор С++ пропускает mimetex.h так как слишком большой.
Вот так выглядит начало и конец консоли сборки через QT Creator 4.5.1:
12:09:22: Выполняются этапы для проекта mytetra...
12:09:22: Настройки не изменились, этап qmake пропускается.
12:09:22: Запускается: «/usr/bin/make»
cd thirdParty/mimetex/ && ( test -e Makefile || /Users/yaroslav/Qt5.10.1/5.10.1/clang_64/bin/qmake -o Makefile /Users/yaroslav/Downloads/mytetra_building/mytetra_1_44_31_src/thirdParty/mimetex/mimetex.pro -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=qml_debug ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -pipe -DAA -g -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.10 -Wall -W -fPIC -DQT_QML_DEBUG -DQT_CORE_LIB -I../../../mytetra_1_44_31_src/thirdParty/mimetex -I. -I/Users/yaroslav/Qt5.10.1/5.10.1/clang_64/lib/QtCore.framework/Headers -I. -I/Users/yaroslav/Qt5.10.1/5.10.1/clang_64/mkspecs/macx-clang -F/Users/yaroslav/Qt5.10.1/5.10.1/clang_64/lib -o ../../../mytetra_1_44_31_src/thirdParty/mimetex/build/obj/mimetex.o ../../../mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c
In file included from ../../../mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:434:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/string.h:160:7:
error: conflicting types for 'strcasestr'
char *strcasestr(const char *__big, const char *__little);
^
../../../mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:428:13: note: previous declaration is here
const char *strcasestr(const char *s1, const char *s2);
^
../../../mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:4013:52: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
if ( strlen(outline)+strlen(outfield)+strlen(cr) >= maxlinelen /*won't fit*/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
../../../mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:6492:4: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
{strsqueeze(argsigptr,strlen(argsignal));} /* can't be in argval */
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
... ... ...
... ... ...
../../../mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:17183:28: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
if ( strlen(expression) > norefmaxlen ) { /* query_string too long */
~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~
../../../mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:17270:23: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
if ( strlen(refp) <= loglen ) break; /* no more parts */
~~~~~~~~~~~~ ^ ~~~~~~
../../../mytetra_1_44_31_src/thirdParty/mimetex/mimetex.c:17874:1: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
< nbytes ) /* failed to write all bytes */
^ ~~~~~~
140 warnings and 1 error generated.
make[1]: *** [../../../mytetra_1_44_31_src/thirdParty/mimetex/build/obj/mimetex.o] Error 1
make: *** [sub-thirdParty-mimetex-mimetex-pro-make_first] Error 2
12:09:23: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/установке проекта mytetra (комплект: Desktop Qt 5.10.1 clang 64bit)
Во время выполнения этапа «Сборка»
Помогите, пожалуйста!
P.S: Была тут на форуме инициатива по упаковке матетры в инсталяционный пакет для маков, но как-то не получилось у человека. Может кто осилил?