Closed zvezdochiot closed 1 year ago
Привет. Попробую
Так. Тут сборка завязана на каком-то Qt Jom, которого у меня нет. И вообще, Qt ушёл из России, так что у меня даже нет возможности это скачать. Я честно не понимаю, зачем надо было использовать CMake, если есть QMake. Там слишком всё намудрено.
@zvezdochiot Можешь мне выхлоп от CMake'а скинуть? Я попробую его под винду адаптировать
@plzombie say:
Можешь мне выхлоп от CMake'а скинуть?
cmake ..
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (found version "80")
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.37")
-- Found TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (found version "4.2.0")
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.60") found components: unit_test_framework prg_exec_monitor
-- Could NOT find Qt6 (missing: Qt6_DIR)
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zvezdochiot/WORK/pub/soft/ebook/scantailor-advanced/build
Смотри также вложения: CMakeCache.txt.gz CMakeError.log.gz CMakeOutput.log.gz
PS: Ежели не получиться, значит не получится. Буду ждать "специально обученного умельца".
@zvezdochiot Вот меня эта папка вся интересует
Build files have been written to: /home/zvezdochiot/WORK/pub/soft/ebook/scantailor-advanced/build
Hi @plzombie .
А ты случаем Github-Action (директория .github
) не баловался? Я в одной репе видел конфиги автоматической сборки (правда не на Qt). Если бы как-нибудь распарсить эту "тему", то подобные "проблемы" решились бы на корню. Я просто тогда склонировал бы репу себе в личку, там бы отрелизил, получив автосборку, после чего удалил бы ненужный форк.
PS: И "это" не единственный проект на Qt, который было бы совсем неплохо поставить на такие "рельсы".
@zvezdochiot travis ci не работает для российских аккаунтов. Есть ещё github workflow, но я не использовал, не знаю, как настроить
PS: И "это" не единственный проект на Qt, который было бы совсем неплохо поставить на такие "рельсы".
У этого проекта - огромный скрипт на cmake, это его проблема
Так. Я разобрался, что вместо jom можно использовать стандартный nmake. Теперь мне нужны исходники qt, потому что с бинарниками этот чудесный скрипт cmake не работает. А официально их уже не скачать
Qt я скачал отсюда и переименовал папку в qt-lts-lgpl-5.15.9. Только он не собирается нихрена. А какая версия qt нужна, чтобы оно собиралось, там не написано
Я собрал зависимости с qt 5.6.3 (ну как собрал, там всё равно что-то не запустилось по части qt). Теперь ругается на libtiff, хотя папка такая есть, и библиотека там тоже собрана
CMake Error at G:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
Call Stack (most recent call first):
G:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
G:/Program Files/CMake/share/cmake-3.26/Modules/FindTIFF.cmake:124 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:156 (find_package)
Если можешь сказать, что он конкретно тут проверяет, то смогу продолжить сборку
@plzombie say:
Если можешь сказать, что он конкретно тут проверяет, то смогу продолжить сборку
Точно не скажу, но в лине пользуются динамические версии библиотек:
ldd scantailor
linux-vdso.so.1 (0x00007ffe9752e000)
libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007fe9e6a4e000)
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fe9e6a14000)
libjpeg.so.62 => /usr/lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007fe9e6990000)
libQt5OpenGL.so.5 => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007fe9e6936000)
libQt5Svg.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 (0x00007fe9e68df000)
libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007fe9e6255000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fe9e5b91000)
libQt5Xml.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5 (0x00007fe9e5b4d000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fe9e5602000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe9e5435000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe9e52f1000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe9e52d7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe9e5100000)
libwebp.so.6 => /usr/lib/x86_64-linux-gnu/libwebp.so.6 (0x00007fe9e5097000)
libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007fe9e4fbc000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fe9e4f94000)
libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007fe9e4d86000)
libdeflate.so.0 => /usr/lib/x86_64-linux-gnu/libdeflate.so.0 (0x00007fe9e4d6a000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe9e4d4b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe9e4d29000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fe9e4ca2000)
libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fe9e4bba000)
libmd4c.so.0 => /usr/lib/x86_64-linux-gnu/libmd4c.so.0 (0x00007fe9e4ba8000)
libdouble-conversion.so.3 => /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.3 (0x00007fe9e4b8f000)
libicui18n.so.67 => /usr/lib/x86_64-linux-gnu/libicui18n.so.67 (0x00007fe9e4889000)
libicuuc.so.67 => /usr/lib/x86_64-linux-gnu/libicuuc.so.67 (0x00007fe9e46a0000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe9e469a000)
libpcre2-16.so.0 => /usr/lib/x86_64-linux-gnu/libpcre2-16.so.0 (0x00007fe9e460f000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fe9e44e0000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe9e6f01000)
libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007fe9e4426000)
libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007fe9e43f2000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fe9e432f000)
libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fe9e4303000)
libicudata.so.67 => /usr/lib/x86_64-linux-gnu/libicudata.so.67 (0x00007fe9e27ea000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fe9e2775000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fe9e2632000)
libbrotlidec.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fe9e2624000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fe9e25f9000)
libbrotlicommon.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fe9e25d6000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fe9e25cf000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fe9e23c9000)
libbsd.so.0 => /usr/lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fe9e23b2000)
libmd.so.0 => /usr/lib/x86_64-linux-gnu/libmd.so.0 (0x00007fe9e23a5000)
Может ему dll-ка нужна?
https://github.com/ImageProcessing-ElectronicPublications/scantailor-advanced/blob/7b6fde9bed5250434deb5a60adb1a078eb66e4e4/CMakeLists.txt#L156-L163
Но учитывая, что это винда, я бы заменил на static
. И libjpeg
, libpng
, libz
тоже.
В scantailor-universal "слегка" по-другому сделано:
FIND_PATH(
TIFF_INCLUDE_DIR tiff.h
PATHS /usr/local/include /usr/include
HINTS ${TIFF_DIR} # TIFF_DIR may come from export-vars.cmake
PATH_SUFFIXES libtiff
DOC "Path to libtiff headers."
)
IF(NOT TIFF_INCLUDE_DIR)
MESSAGE(
FATAL_ERROR
"Could not find libtiff headers.\n"
"You may need to install a package named libtiff4-dev or similarly."
)
ENDIF()
INCLUDE_DIRECTORIES("${TIFF_INCLUDE_DIR}")
FIND_LIBRARY(
TIFF_LIBRARY tiff libtiff.lib
PATHS /usr/local/lib /usr/lib
HINTS ${STAGING_LIBS_DIR}
PATH_SUFFIXES libtiff
DOC "Path to tiff library."
)
IF(NOT TIFF_LIBRARY)
MESSAGE(
FATAL_ERROR
"Could not find libtiff library.\n"
"You may need to install a package named libtiff4-dev or similarly."
)
ENDIF()
IF(WIN32)
ADD_DEFINITIONS(-DUSE_LIBTIFF_DLL)
ENDIF()
@zvezdochiot понятно, что dll-ка. А есть идея, в какой папке она ищется? Что есть TIFF_LIBRARY TIFF_INCLUDE_DIR? Потому что dll-ка там такая есть
@plzombie say:
Что есть TIFF_LIBRARY TIFF_INCLUDE_DIR?
Ну это явно переменные cmake
, в которые прописываются пути. Ох уж этот cmake
и как с ним бодаться.
Смотри. В scantailor-universal помимо libtiff.dll
пользуется libtiff.lib
(это ссылочный файл на dll-ку). Может в нём засада? Есть такой файл в твоей сборке libtiff
?
PS: А scantailor-universal у тебя собирается (:warning: он пользует openjpeg
, не помню, опционально или жёстко)?
:information_source: Смотри. В build/src/app/CMakeFiles/scantailor.dir/link.txt
прописано:
/usr/bin/c++ -Wall -Wextra -Wpedantic -Werror=return-type -Wno-unused -O3 -DNDEBUG CMakeFiles/scantailor.dir/scantailor_autogen/mocs_compilation.cpp.o CMakeFiles/scantailor.dir/RelinkablePathVisualization.cpp.o CMakeFiles/scantailor.dir/RelinkingModel.cpp.o CMakeFiles/scantailor.dir/RelinkingSortingModel.cpp.o CMakeFiles/scantailor.dir/RelinkingListView.cpp.o CMakeFiles/scantailor.dir/RelinkingDialog.cpp.o CMakeFiles/scantailor.dir/SettingsDialog.cpp.o CMakeFiles/scantailor.dir/FixDpiDialog.cpp.o CMakeFiles/scantailor.dir/LoadFilesStatusDialog.cpp.o CMakeFiles/scantailor.dir/ProjectCreationContext.cpp.o CMakeFiles/scantailor.dir/ProjectOpeningContext.cpp.o CMakeFiles/scantailor.dir/OutOfMemoryDialog.cpp.o CMakeFiles/scantailor.dir/ThumbnailSequence.cpp.o CMakeFiles/scantailor.dir/ProjectFilesDialog.cpp.o CMakeFiles/scantailor.dir/NewOpenProjectPanel.cpp.o CMakeFiles/scantailor.dir/SystemLoadWidget.cpp.o CMakeFiles/scantailor.dir/MainWindow.cpp.o CMakeFiles/scantailor.dir/main.cpp.o CMakeFiles/scantailor.dir/StatusBarPanel.cpp.o CMakeFiles/scantailor.dir/DefaultParamsDialog.cpp.o CMakeFiles/scantailor.dir/scantailor_autogen/UKIBSY7YGX/qrc_resources.cpp.o CMakeFiles/scantailor.dir/scantailor_autogen/GQQMFSSK5H/qrc_dark_scheme.cpp.o CMakeFiles/scantailor.dir/scantailor_autogen/L44T22TW2P/qrc_light_scheme.cpp.o -o ../../scantailor ../core/libcore.a ../core/zones/libzones.a ../core/filters/fix_orientation/libfix_orientation.a ../core/filters/page_split/libpage_split.a ../core/filters/deskew/libdeskew.a ../core/filters/select_content/libselect_content.a ../core/filters/page_layout/libpage_layout.a ../core/filters/output/liboutput.a ../core/interaction/libinteraction.a ../core/libcore.a ../core/zones/libzones.a ../core/filters/fix_orientation/libfix_orientation.a ../core/filters/page_split/libpage_split.a ../core/filters/deskew/libdeskew.a ../core/filters/select_content/libselect_content.a ../core/filters/page_layout/libpage_layout.a ../core/filters/output/liboutput.a ../core/interaction/libinteraction.a /usr/lib/x86_64-linux-gnu/libtiff.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.2 ../dewarping/libdewarping.a ../imageproc/libimageproc.a ../math/libmath.a ../foundation/libfoundation.a /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.2 -pthread
Выделяю "интересующее":
/usr/lib/x86_64-linux-gnu/libtiff.so
Это собственно и должно быть TIFF_LIBRARY
. Вроде как. И "это" ссылочный файл на libtiff.so.5
.
@plzombie say:
Теперь ругается на...
А вот это: https://github.com/ScanTailor-Advanced/scantailor-libs-build/blob/master/README.md никак не пожет?
6. Unpack the folder of this project there.
You should have gotten a folder structure similar to this:
...
А вот это: https://github.com/ScanTailor-Advanced/scantailor-libs-build/blob/master/README.md никак не пожет?
Я уже собирал зависимости с помощью этого репозитория, дошла очередь до самого scantailor
@plzombie say:
дошла очередь до самого scantailor
Да я про стркутуру директорий. Ежели выстроить их так, как написано, не находит? То есть 2 базовые директории:
libs
scantailor-advanced
А уже в libs
понапиханы все либы.
Там есть в libs папка tiff-4.2.0, он её находит при сборке зависимостей. Статическая библиотека+библиотека импорта созданы. Всё должно быть ок
f:\NonOfMyBusiness\scantailor\libs\Boost\
f:\NonOfMyBusiness\scantailor\libs\boost_1_82_0\
f:\NonOfMyBusiness\scantailor\libs\jpeg-9e\
f:\NonOfMyBusiness\scantailor\libs\libpng-1.6.39\
f:\NonOfMyBusiness\scantailor\libs\Qt\
f:\NonOfMyBusiness\scantailor\libs\qt-some-path-5.6.3\
f:\NonOfMyBusiness\scantailor\libs\scantailor-libs-build-master\
f:\NonOfMyBusiness\scantailor\libs\tiff-4.2.0\
f:\NonOfMyBusiness\scantailor\libs\zlib-1.2.11\
Вот выхлоп cmake
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master>cmake -G "NMake Makefiles" -D CMAKE_BUILD_TYPE=Release -B ./build .
-- The C compiler identification is MSVC 19.29.30147.0
-- The CXX compiler identification is MSVC 19.29.30147.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found JPEG: F:/NonOfMyBusiness/scantailor/libs/jpeg-9e/stage/lib/libjpeg.lib (found version "90")
-- Found ZLIB: F:/NonOfMyBusiness/scantailor/libs/zlib-1.2.11/stage/lib/zdll.lib (found version "1.2.11")
-- Found PNG: F:/NonOfMyBusiness/scantailor/libs/libpng-1.6.39/stage/lib/libpng.lib (found version "1.6.39")
CMake Error at G:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
Call Stack (most recent call first):
G:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
G:/Program Files/CMake/share/cmake-3.26/Modules/FindTIFF.cmake:124 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:156 (find_package)
-- Configuring incomplete, errors occurred!
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master>cmake -G "NMake Makefiles" -D CMAKE_BUILD_TYPE=Release -B ./build .
CMake Error at G:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
Call Stack (most recent call first):
G:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
G:/Program Files/CMake/share/cmake-3.26/Modules/FindTIFF.cmake:124 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:156 (find_package)
-- Configuring incomplete, errors occurred!
Вот конкретно артефакты сборки
f:\NonOfMyBusiness\scantailor\libs\tiff-4.2.0\stage\lib\libtiff.exp
f:\NonOfMyBusiness\scantailor\libs\tiff-4.2.0\stage\lib\libtiff.lib
Всё есть, как видишь
Так. Тупой cmake не может отличить файл от папки
//Prefix where tiff is installed
TIFF_INSTALL_PREFIX:PATH=F:/NonOfMyBusiness/scantailor/libs/tiff-4.2.0.zip
@plzombie say:
Всё есть, как видишь
scantailor-advanced-t/build$ grep -r tiff *
CMakeCache.txt:TIFF_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libtiff.so
CMakeCache.txt:FIND_PACKAGE_MESSAGE_DETAILS_TIFF:INTERNAL=[/usr/lib/x86_64-linux-gnu/libtiff.so][/usr/include/x86_64-linux-gnu][v4.2.0()]
src/core/tests/CMakeFiles/core_tests.dir/link.txt:/usr/bin/c++ -Wall -Wextra -Wpedantic -Werror=return-type -Wno-unused -O3 -DNDEBUG CMakeFiles/core_tests.dir/core_tests_autogen/mocs_compilation.cpp.o CMakeFiles/core_tests.dir/main.cpp.o CMakeFiles/core_tests.dir/TestContentSpanFinder.cpp.o CMakeFiles/core_tests.dir/TestSmartFilenameOrdering.cpp.o -o ../../../core_tests ../libcore.a /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.74.0 /usr/lib/x86_64-linux-gnu/libboost_prg_exec_monitor.so.1.74.0 ../zones/libzones.a ../filters/fix_orientation/libfix_orientation.a ../filters/page_split/libpage_split.a ../filters/deskew/libdeskew.a ../filters/select_content/libselect_content.a ../filters/page_layout/libpage_layout.a ../filters/output/liboutput.a ../interaction/libinteraction.a ../libcore.a ../zones/libzones.a ../filters/fix_orientation/libfix_orientation.a ../filters/page_split/libpage_split.a ../filters/deskew/libdeskew.a ../filters/select_content/libselect_content.a ../filters/page_layout/libpage_layout.a ../filters/output/liboutput.a ../interaction/libinteraction.a /usr/lib/x86_64-linux-gnu/libtiff.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.2 ../../dewarping/libdewarping.a ../../imageproc/libimageproc.a ../../math/libmath.a ../../foundation/libfoundation.a /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.2 -pthread
src/core/tests/CMakeFiles/core_tests.dir/build.make:core_tests: /usr/lib/x86_64-linux-gnu/libtiff.so
src/app/CMakeFiles/scantailor.dir/link.txt:/usr/bin/c++ -Wall -Wextra -Wpedantic -Werror=return-type -Wno-unused -O3 -DNDEBUG CMakeFiles/scantailor.dir/scantailor_autogen/mocs_compilation.cpp.o CMakeFiles/scantailor.dir/RelinkablePathVisualization.cpp.o CMakeFiles/scantailor.dir/RelinkingModel.cpp.o CMakeFiles/scantailor.dir/RelinkingSortingModel.cpp.o CMakeFiles/scantailor.dir/RelinkingListView.cpp.o CMakeFiles/scantailor.dir/RelinkingDialog.cpp.o CMakeFiles/scantailor.dir/SettingsDialog.cpp.o CMakeFiles/scantailor.dir/FixDpiDialog.cpp.o CMakeFiles/scantailor.dir/LoadFilesStatusDialog.cpp.o CMakeFiles/scantailor.dir/ProjectCreationContext.cpp.o CMakeFiles/scantailor.dir/ProjectOpeningContext.cpp.o CMakeFiles/scantailor.dir/OutOfMemoryDialog.cpp.o CMakeFiles/scantailor.dir/ThumbnailSequence.cpp.o CMakeFiles/scantailor.dir/ProjectFilesDialog.cpp.o CMakeFiles/scantailor.dir/NewOpenProjectPanel.cpp.o CMakeFiles/scantailor.dir/SystemLoadWidget.cpp.o CMakeFiles/scantailor.dir/MainWindow.cpp.o CMakeFiles/scantailor.dir/main.cpp.o CMakeFiles/scantailor.dir/StatusBarPanel.cpp.o CMakeFiles/scantailor.dir/DefaultParamsDialog.cpp.o CMakeFiles/scantailor.dir/scantailor_autogen/UKIBSY7YGX/qrc_resources.cpp.o CMakeFiles/scantailor.dir/scantailor_autogen/GQQMFSSK5H/qrc_dark_scheme.cpp.o CMakeFiles/scantailor.dir/scantailor_autogen/L44T22TW2P/qrc_light_scheme.cpp.o -o ../../scantailor ../core/libcore.a ../core/zones/libzones.a ../core/filters/fix_orientation/libfix_orientation.a ../core/filters/page_split/libpage_split.a ../core/filters/deskew/libdeskew.a ../core/filters/select_content/libselect_content.a ../core/filters/page_layout/libpage_layout.a ../core/filters/output/liboutput.a ../core/interaction/libinteraction.a ../core/libcore.a ../core/zones/libzones.a ../core/filters/fix_orientation/libfix_orientation.a ../core/filters/page_split/libpage_split.a ../core/filters/deskew/libdeskew.a ../core/filters/select_content/libselect_content.a ../core/filters/page_layout/libpage_layout.a ../core/filters/output/liboutput.a ../core/interaction/libinteraction.a /usr/lib/x86_64-linux-gnu/libtiff.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.2 ../dewarping/libdewarping.a ../imageproc/libimageproc.a ../math/libmath.a ../foundation/libfoundation.a /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5.15.2 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.2 -pthread
src/app/CMakeFiles/scantailor.dir/build.make:scantailor: /usr/lib/x86_64-linux-gnu/libtiff.so
scantailor-advanced-t/build$ grep -r TIFF *
CMakeCache.txt:TIFF_INCLUDE_DIR:PATH=/usr/include/x86_64-linux-gnu
CMakeCache.txt:TIFF_LIBRARY_DEBUG:FILEPATH=TIFF_LIBRARY_DEBUG-NOTFOUND
CMakeCache.txt:TIFF_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libtiff.so
CMakeCache.txt:core_LIB_DEPENDS:STATIC=general;TIFF::TIFF;general;PNG::PNG;general;ZLIB::ZLIB;general;JPEG::JPEG;general;Qt5::Core;general;Qt5::Gui;general;Qt5::Widgets;general;Qt5::Xml;general;Qt5::Network;general;Qt5::OpenGL;general;Qt5::Svg;general;imageproc;general;zones;general;fix_orientation;general;page_split;general;deskew;general;select_content;general;page_layout;general;output;
CMakeCache.txt://Details about finding TIFF
CMakeCache.txt:FIND_PACKAGE_MESSAGE_DETAILS_TIFF:INTERNAL=[/usr/lib/x86_64-linux-gnu/libtiff.so][/usr/include/x86_64-linux-gnu][v4.2.0()]
CMakeCache.txt://ADVANCED property for variable: TIFF_INCLUDE_DIR
CMakeCache.txt:TIFF_INCLUDE_DIR-ADVANCED:INTERNAL=1
CMakeCache.txt://ADVANCED property for variable: TIFF_LIBRARY_DEBUG
CMakeCache.txt:TIFF_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
CMakeCache.txt://ADVANCED property for variable: TIFF_LIBRARY_RELEASE
CMakeCache.txt:TIFF_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
CMakeFiles/Makefile.cmake: "/usr/share/cmake-3.18/Modules/FindTIFF.cmake"
Так, сумел создать мэйкфайл. Ашипки при компиляции:
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\TowardsLineTracer.cpp(148): error C2039: "sqrt": не является членом "std".
Куда-нибудь после
#include <cassert>
Необходимо добавить
#include <cmath>
Вот список варнингов
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\foundation\Proximity.cpp(31): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\math\PolylineIntersector.cpp(90): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\imageproc\Posterizer.cpp(48): warning C4267: аргумент: преобразование из "size_t" в "int"; возможна потеря данных
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\imageproc\Posterizer.cpp(182): warning C4267: аргумент: преобразование из "size_t" в "int"; возможна потеря данных
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(9): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(162): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(169): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(299): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(314): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DetectVertContentBounds.cpp(11): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DetectVertContentBounds.cpp(250): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DetectVertContentBounds.cpp(268): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DetectVertContentBounds.cpp(405): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\TextLineTracer.cpp(443): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\CylindricalSurfaceDewarper.cpp(344): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\CylindricalSurfaceDewarper.cpp(367): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\output\DewarpingView.cpp(217): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\ImageView.cpp(212): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\ImageView.cpp(244): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\ImageView.cpp(290): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\ImageView.cpp(309): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\PageLayout.cpp(117): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\PageLayout.cpp(354): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\PageLayoutAdapter.cpp(16): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\PageLayoutAdapter.cpp(35): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\PageLayoutAdapter.cpp(71): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\filters\page_split\PageLayoutAdapter.cpp(114): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\interaction\ZoomHandler.cpp(56): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\Application.cpp(61): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\RelinkablePath.cpp(15): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\BackgroundTask.h(30): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\core\BackgroundTask.h(38): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\app\RelinkablePathVisualization.cpp(56): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\app\MainWindow.cpp(2084): warning C4267: аргумент: преобразование из "size_t" в "int"; возможна потеря данных
Про непредвиденные лексемы за директивой препроцессора, требуется newline. Там есть код вида
#if QT_VERSION_MAJOR == 5 and QT_VERSION_MINOR < 14
segment.intersect(perpendicular, &intersection);
#else
segment.intersects(perpendicular, &intersection);
#endif
А должен быть
#if QT_VERSION_MAJOR == 5 && QT_VERSION_MINOR < 14
segment.intersect(perpendicular, &intersection);
#else
segment.intersects(perpendicular, &intersection);
#endif
Так как and не поддерживается (вижуалстудией как минимум)
@plzombie say:
Необходимо добавить
Так добавь. Хуже то точно не будет. ;)
@plzombie say:
Так как and не поддерживается
Форми коммит. Про варнинги - забей.
В https://github.com/ImageProcessing-ElectronicPublications/scantailor-advanced/releases/tag/v1.0.18 добавь сборку с суффиксом epbd
, в описании релиза укажи себя, как сборщика и ссылку на данный issue
.
Scantailor-Advanced-1.0.18.zip Вот бинарники. Только не знаю, зачем ты заставлял меня это компилировать, если у тебя уже есть там сборка для Qt6 x64
@plzombie say:
зачем ты заставлял меня это компилировать,
Так ты мою мастер ветку скомпилил? Тогда смотри https://github.com/ScanTailor-Advanced/scantailor-advanced/pull/48 . В "этом" различие. Я как дурак в одну харю тестами нового порога занимаюсь: http://publ.lib.ru/cgi/forum/YaBB.pl?num=1505152856/538#530
Твою мастер ветку. Можешь написать, куда тыкать, чтобы добраться до фильтров бинаризации? У меня там только поворот всякий, margins
@plzombie say:
куда тыкать
Это на последнем этапе: Output. По умолчанию режим BW, порог Otsu. Так вот помимо Otsu есть Sauvola и Wolf (aka Chistian), а от меня теперь EdgePlus и BlurDiv.
PS: На форуме ссылку на релиз завтра опубликую, чтоб "свежачок" был. ;)
Я там немного сборку подправил, часть файлов отсутствовала
Привет @plzombie .
Звиняюсь за беспокойство. Ежели будет возможность, сборку текущего (https://github.com/ImageProcessing-ElectronicPublications/scantailor-advanced/commit/37ba7648a0354b7d5baa50047372101eeec5565c) состояния: epdbta не сделаешь? Просто я ещё один регулятор к порогам прикрутил (смотри https://github.com/ScanTailor-Advanced/scantailor-advanced/issues/59). Мелочь, но пороги теперь регулируются почти что шикарно.
PS: Все твои замечания, сделанные ранее, вроде как в https://github.com/ImageProcessing-ElectronicPublications/scantailor-advanced/commit/794faa96d0203486c6fd96e94a400f061ca65cad пофиксил. Но может ещё что то всплывёт. Ежели так, то можешь вносить правки от себя.
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\imageproc\Posterizer.cpp(48): warning C4267: аргумент: преобразование из "size_t" в "int"; возможна потеря данных F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\imageproc\Posterizer.cpp(182): warning C4267: аргумент: преобразование из "size_t" в "int"; возможна потеря данных
F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(9): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(165): error C2065: QRandomGenerator: необъявленный идентификатор F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(165): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "prng" F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(165): error C3861: prng: идентификатор не найден F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(173): error C2065: prng: необъявленный идентификатор F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(174): error C2065: prng: необъявленный идентификатор F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(299): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline F:\NonOfMyBusiness\scantailor\scantailor-advanced-master\src\dewarping\DistortionModelBuilder.cpp(314): warning C4067: непредвиденные лексемы за директивой препроцессора, требуется newline
Сейчас пофикшу, пришлю файлики
Привет @plzombie .
Принял. Спсб. Буду разбираться.
PS: Для справки: суффикс мода к релизу: epdbta (сам всё поменяю, чисто для сведения).
Hi @plzombie .
Вопрос тут на форуме возник (http://forum.ru-board.com/topic.cgi?forum=5&topic=32945&start=3460#1). Я копнул архив, а там реально файлов *.qm
в транслятион нема. Заместо них *.ts
. У тебя какие то проблемы с компиляцией были или путаница какая то возникла? На всякий привожу пример команды компиляции у себя (Qt5):
scantailor_ru.qm: ../src/translations/scantailor_ru.ts
/usr/lib/qt5/bin/lrelease ../src/translations/scantailor_ru.ts -qm scantailor_ru.qm
Я просто не уверен, что мои файлы подойдут виндовской версии.
PS: Свои файлы переводов прилагаю: scantailor-advanced_1.0.18-deb11epbdta-translations.zip
Привет. Файлики были. Но в чужой сборке я видел только .ts в папке translations, поэтому оставил так. Позже перезалью с qm
Hi @plzombie .
Спсб. Как перезальёшь, кастани меня. Хочу сравнить файлы винды и линя.
PS: Интересно, а оригинальный установщик куда их тогда забрасывает?
Hi @plzombie .
На всякий случай. Согласно тестам форумчанина (http://forum.ru-board.com/topic.cgi?forum=5&topic=32945&start=3460#5) файлы из оригинальной сборки: https://github.com/ImageProcessing-ElectronicPublications/scantailor-advanced/releases/download/v1.0.18/ScanTailor-Advanced-1.0.18_III.x64.zip подходят.
@zvezdochiot держи scantailor-advanced_37ba764+patch-qt5_win64_epdb.zip
У меня немного другие файлы получились, отличаются на пару байт
@plzombie say:
У меня немного другие файлы получились, отличаются на пару байт
Но ST запускается нормально? Никаких бзиков и прочей ерунды?
С теми из оригинальной сборки тоже запускается
Hi @plzombie .
Мои правки вошли в мейнстрим: https://github.com/ScanTailor-Advanced/scantailor-advanced/commit/b0788fc5055ab8f7f7a6b5d727dd13eea1006212 . Надеюсь скоро будет официальный релиз. За моды к 1.0.18 премного благодарен. Такие вот дела.
PS: На этом наконец "проблема" с релизами завершена.
Hi @plzombie .
Не было печали, да черти подкачали.
Можешь дополнить релиз 1.0.19 сборкой на Qt5? А то официальная сборка на Qt6 в Win7 не пашет.
Запрос в оффрепу уже сделал: https://github.com/ScanTailor-Advanced/scantailor-advanced/issues/66
Заодно актуальный скрипт для сборки под виндой
REM Next is a path to vs env
REM "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
rmdir /S /Q build
mkdir build
cd build
cmake -G "NMake Makefiles" -D CMAKE_BUILD_TYPE=Release ..
nmake
cd ..
pause
А заодно структуру папки libs, которую надо создать параллельно папке с исходниками
Boost\
boost_1_82_0\
jpeg-9e\
libpng-1.6.39\
Qt\
scantailor-libs-build-master\
tiff-4.2.0\
zlib-1.2.11\
Hi @plzombie .
Прошу прощения за наглость, но ты не мог бы скомпилить scantailor-advanced c новыми порогами (EdgePlus и BlurDiv). А то на http://publ.lib.ru/cgi/forum/YaBB.pl похоже все способные компилять вымерли к чортовой матери.
:warning: scantailor-advanced требует Qt5 или Qt6, а на Qt4 вряд ли взлетит. Ежели нема таких в наличии, оставь сообщение. Закрою тогда issue.