Open Sree0211 opened 3 months ago
Yes, please.
Post cmakelists.
Also try to run sw setup
and re-try cmake.
Where is sw.exe located?
Remove spaces in the directory name.
I see this
Found SW: C:/SW Client
sw.exe is located in C:/SWClient (I modified the spaces now and tried, still the same problem)
cmake_minimum_required(VERSION 3.11) project(OCR_Test CXX)
set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake Targets")
set(OpenCV_DIR "C:/opencv/build") find_package(OpenCV 4.2 REQUIRED) set(OpenCV_BASEDIR "C:/opencv/build/x64/vc14/bin")
set(SW_BUILD_SHARED_LIBS 1) set(DEPENDENCIES org.sw.demo.google.tesseract.libtesseract-master org.sw.demo.intel.opencv.imgproc org.sw.demo.intel.opencv.highgui)
set(SW_DIR "C:/Users/sreenath/.sw/storage/etc/sw/static") set(SW_EXECUTABLE "C:/SWClient")
find_package(SW REQUIRED) sw_add_package(${DEPENDENCIES}) sw_execute()
set(Tesseract_DIR "C:/vcpkg/packages/tesseract_x64-windows-static/share/tesseract") set(Leptonica_DIR "C:/vcpkg/packages/leptonica_x64-windows-static/share/leptonica") set(CURL_DIR "C:/vcpkg/packages/curl_x64-windows-static/share/curl")
set(Tesseract_LIB "C:/Program Files/tesseract-ocr") find_library(Tesseract_LIB NAMES tesseract)
find_package(Leptonica REQUIRED) find_package(Tesseract REQUIRED)
add_executable(OCR_Test main.cpp)
target_link_libraries(OCR_Test PUBLIC ${DEPENDENCIES} Tesseract::Tesseract Leptonica::Leptonica)
target_compile_features(OCR_Test PUBLIC cxx_std_17)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME}) include_directories(OCR_Test PUBLIC ${Tesseract_INCLUDE_DIRS})
Try it like this and post logs. Put copy-past between ```
project(OCR_Test CXX)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake Targets")
set(SW_BUILD_SHARED_LIBS 1)
set(DEPENDENCIES
org.sw.demo.google.tesseract.libtesseract
org.sw.demo.intel.opencv.imgproc
org.sw.demo.intel.opencv.highgui)
find_package(SW REQUIRED)
sw_add_package(${DEPENDENCIES})
sw_execute()
add_executable(OCR_Test
main.cpp)
target_link_libraries(OCR_Test PUBLIC
${DEPENDENCIES})
target_compile_features(OCR_Test PUBLIC cxx_std_17)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME})
I tried your above CMakeLists suggestion. BUt I get SW cannot be found
Detecting CXX compile features - done
CMake Error at C:/Program Files/CMake/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find SW (missing: SW_EXECUTABLE)
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
C:/Users/sreenath/.sw/storage/etc/sw/static/SWConfig.cmake:22 (find_package_handle_standard_args)
CMakeLists.txt:13 (find_package)
Configuring incomplete, errors occurred!
See also "C:/git/OCR_Test/Build/CMakeFiles/CMakeOutput.log".
In my Cmake app, it couldn't locate SW_Executable, so I manually located it C:/SWClient/sw.exe, Then I get a new error
Downloading database from origin remote
Downloading: [org.sw.demo.google.tesseract.libtesseract-5.3.4]/[Source Archive]
Unpacking : [org.sw.demo.google.tesseract.libtesseract-5.3.4]/[Source Archive]
Downloading: [pub.egorpugin.primitives.filesystem-0.3.1]/[Source Archive]
Unpacking : [pub.egorpugin.primitives.filesystem-0.3.1]/[Source Archive]
[26/142] [pub.egorpugin.libuv-1.44.2]/src/timer.c
[27/142] [org.sw.demo.boost.thread-1.84.0]/src/tss_null.cpp
[28/142] [pub.egorpugin.libuv-1.44.2]/src/win/tty.c
[29/142] [org.sw.demo.boost.atomic-1.84.0]/src/find_address_sse2.cpp
[30/142] [org.sw.sw.client.driver.cpp.cl_generator-0.4.5]/[sw.rc]
[33/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/parse.cpp
[34/142] [pub.egorpugin.primitives.command-0.3.1]/src/uv_command.cpp
[41/142] [pub.egorpugin.libuv-1.44.2]/src/win/winapi.c
[46/142] [pub.egorpugin.libuv-1.44.2]/src/win/winsock.c
[48/142] [pub.egorpugin.libuv-1.44.2]/src/win/udp.c
[53/142] [pub.egorpugin.libuv-1.44.2]/src/win/error.c
[56/142] [org.sw.sw.client.driver.cpp.cl_generator-0.4.5]/src/sw/driver/tools/cl_generator.cpp
[57/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/regex_yaml.cpp
[58/142] [org.sw.demo.boost.filesystem-1.84.0]/src/utf8_codecvt_facet.cpp
[60/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/exceptions.cpp
[64/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/[sw.rc]
[65/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/emitterutils.cpp
[66/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/convert.cpp
[71/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/scantoken.cpp
[72/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/null.cpp
[74/142] [org.sw.demo.boost.thread-1.84.0]/src/win32/tss_dll.cpp
[81/142] [org.sw.demo.boost.filesystem-1.84.0]/src/directory.cpp
[82/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/nodeevents.cpp
[83/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/nodebuilder.cpp
[85/142] [org.sw.demo.boost.atomic-1.84.0]/src/wait_on_address.cpp
[86/142] [org.sw.demo.boost.filesystem-1.84.0]/src/path_traits.cpp
[88/142] [org.sw.demo.boost.atomic-1.84.0]/src/lock_pool.cpp
[89/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/emitterstate.cpp
[90/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/simplekey.cpp
[93/142] [org.sw.demo.boost.chrono-1.84.0]/[sw.rc]
[97/142] [org.sw.demo.boost.atomic-1.84.0]/src/find_address_sse41.cpp
[99/142] [org.sw.demo.boost.thread-1.84.0].lib
[100/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/parser.cpp
[101/142] [pub.egorpugin.primitives.command-0.3.1]/src/command.cpp
[102/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/node_data.cpp
[104/142] [org.sw.demo.boost.chrono-1.84.0].lib
[105/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/exp.cpp
[106/142] [org.sw.demo.boost.filesystem-1.84.0]/src/path.cpp
[107/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/binary.cpp
[109/142] [org.sw.demo.boost.atomic-1.84.0]/src/find_address_sse2.cpp
[111/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/singledocparser.cpp
[112/142] [org.sw.demo.boost.chrono-1.84.0]/src/chrono.cpp
[113/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/contrib/graphbuilder.cpp
[114/142] [pub.egorpugin.libuv-1.44.2].lib
[117/142] [org.sw.demo.boost.chrono-1.84.0]/src/process_cpu_clocks.cpp
[118/142] [org.sw.demo.boost.atomic-1.84.0].dll
[119/142] [org.sw.demo.boost.atomic-1.84.0].lib
[120/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/scanscalar.cpp
[121/142] [org.sw.demo.boost.filesystem-1.84.0]/src/operations.cpp
[122/142] [pub.egorpugin.primitives.main-0.3.1].lib
[127/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0]/src/tag.cpp
[128/142] [org.sw.demo.boost.filesystem-1.84.0]/src/codecvt_error_category.cpp
[129/142] [org.sw.demo.boost.filesystem-1.84.0].lib
[130/142] [org.sw.demo.boost.chrono-1.84.0].dll
[131/142] [org.sw.demo.boost.thread-1.84.0].dll
[132/142] [org.sw.demo.jbeder.yaml_cpp-0.8.0].dll
[133/142] [org.sw.demo.boost.filesystem-1.84.0].dll
[134/142] [org.sw.sw.client.driver.cpp.cl_generator-0.4.5].exe
[135/142] [loc.sw.self.e58a9b-0.0.34] generate: "C:/Users/sreenath/.sw/storage/pkg/a0/ef/79bd/obj/bld/550076/bd/options_cl.generated.h", "C:/Users/sreenath/.sw/storage/pkg/a0/ef/79bd/obj/bld/550076/bd/options_cl.generated.cpp"
[136/142] [config pch]
Exception in file D:/dev/cppan2/client2/src/sw/builder/command.cpp:845, function execute1: When executing: [pub.egorpugin.primitives.command-0.3.1]/src/command.cpp
C:/Users/sreenath/.sw/storage/pkg/9d/a6/8d0d/src/sdir/src/command/src/command.cpp(142): error C2039: 'contains': is not a member of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\xstring(4871): note: see declaration of 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
C:/Users/sreenath/.sw/storage/pkg/9d/a6/8d0d/src/sdir/src/command/src/command.cpp(147): note: see reference to function template instantiation 'auto primitives::Command::setProgram::<lambda_1>::()::<lambda_1>::operator ()<const char(&)[6]>(_T1) const' being compiled
with
[
_T1=const char (&)[6]
]
C:/Users/sreenath/.sw/storage/pkg/9d/a6/8d0d/src/sdir/src/command/src/command.cpp(147): error C3487: 'bool': a
ll return expressions must deduce to the same type: previously it was 'void'
C:/Users/sreenath/.sw/storage/pkg/9d/a6/8d0d/src/sdir/src/command/src/command.cpp(144): error C3487: 'bool': all return expressions must deduce to the same type: previously it was 'void'
C:/Users/sreenath/.sw/storage/pkg/9d/a6/8d0d/src/sdir/src/command/src/command.cpp(144): error C2562: 'primitives::Command::setProgram::<lambda_1>::()::<lambda_1>::operator ()': 'void' function returning a value
C:/Users/sreenath/.sw/storage/pkg/9d/a6/8d0d/src/sdir/src/command/src/command.cpp(147): note: see declaration of 'primitives::Command::setProgram::<lambda_1>::()::<lambda_1>::operator ()'
C:/Users/sreenath/.sw/storage/pkg/9d/a6/8d0d/src/sdir/src/command/src/command.cpp(147): error C2296: '||': illegal, left operand has type 'void'
C:/Users/sreenath/.sw/storage/pkg/9d/a6/8d0d/src/sdir/src/command/src/command.cpp(147): error C2297: '||': illegal, right operand has type 'void'
command failed: exit code = 2
Total errors: 1
sw command: C:/SWClient/sw.exe -shared -platform x64 -compiler msvc-19.0 -d C:/git/OCR_Test/Build/.sw/cmake -config d,msr,rwdi,r integrate -cmake-deps C:/git/OCR_Test/Build/.sw/cmake/sw.txt -cmake-file-version 9
CMake Error at C:/Users/sreenath/.sw/storage/etc/sw/static/SWConfig.cmake:267 (message):
sw: non-zero exit code: 1
Call Stack (most recent call first):
CMakeLists.txt:15 (sw_execute)
sw setup
and remove manual path in CMakeLists.txt
VS2022
or VS2022 Build Tools
to be installed.Fix these two points and you should be set up.
Is there a way to make use of sw
for tesseract in VS 2015
?
You can try to build tess for VS2015
, but you need VS2022 Build Tools
(they are free to use) for sw itself.
Describe the bug I tried to input tesseract lib into my Cmakelists for my OCR task. But I get sw:non-zero exit code: Access is denied.
This is the message I get.
Selecting Windows SDK version to target Windows 10.0.19045. The CXX compiler identification is MSVC 19.0.24215.1 Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe - skipped Detecting CXX compile features Detecting CXX compile features - done OpenCV ARCH: x64 OpenCV RUNTIME: vc14 OpenCV STATIC: OFF Found OpenCV: C:/opencv/build (found suitable version "4.2.0", minimum required is "4.2") Found OpenCV 4.2.0 in C:/opencv/build/x64/vc14/lib You might need to add C:\opencv\build\x64\vc14\bin to your PATH to be able to run your applications. Found SW: C:/SW Client
sw: processing dependencies sw command: C:/SW Client -shared -platform x64 -compiler msvc-19.0 -d C:/git/OCR_Test/Build/.sw/cmake -config d,msr,rwdi,r integrate -cmake-deps C:/git/OCR_Test/Build/.sw/cmake/sw.txt -cmake-file-version 9 CMake Error at C:/Users/sreenath/.sw/storage/etc/sw/static/SWConfig.cmake:267 (message): sw: non-zero exit code: Access is denied Call Stack (most recent call first): CMakeLists.txt:28 (sw_execute)
Configuring incomplete, errors occurred! See also "C:/git/OCR_Test/Build/CMakeFiles/CMakeOutput.log".
I even did sw --self-upgrade C:\SW Client>sw --self-upgrade Downloading signature file: https://software-network.org//client/sw-master-windows_x86_64-client.zip.sha512.sig Downloading the latest client: https://software-network.org//client/sw-master-windows_x86_64-client.zip Unpacking Replacing client
C:\SW Client>Waiting old program to exit... Success!
Could you please help me with this. I can paste mc CMakeLists if needed