下面是代码:

----------------------------

#include "docwire/docwire.h"

#include <cassert>

#include <sstream> 

int main(int argc, char* argv[])

{

  using namespace docwire;

  std::stringstream out_stream; 

  try  {

#if 1

    std::filesystem::path(argv[1]) | content_type::detector{} | office_formats_parser() | PlainTextExporter() | out_stream;

#else

    std::filesystem::path("../data_processing_definition.doc") | content_type::detector{} | office_formats_parser() | PlainTextExporter() | out_stream;

#endif

  }

  catch (const std::exception& e)

  {

    std::cerr << errors::diagnostic_message(e) << std::endl;

    return 1;

  }

  std::cout << out_stream.str() << std::endl; 

  return 0;

}

 

 

------------------------------

下面是CMakeLists.txt,只调试了MAC上的,没有调试windows上的

-------------------------

cmake_minimum_required(VERSION 3.15)

project(integration_example LANGUAGES CXX)

 

set(CMAKE_CXX_STANDARD 20)           # 要求 C++20

set(CMAKE_CXX_STANDARD_REQUIRED ON)  # 必须支持 C++20

 

if (VCPKG_TARGET_TRIPLET STREQUAL "x64-linux")

    message(FATAL_ERROR "DocWire SDK requires dynamic linking. Use triplet x64-linux-dynamic instead of x64-linux")

endif()

if (VCPKG_TARGET_TRIPLET STREQUAL "x64-windows-static")

    message(FATAL_ERROR "DocWire SDK requires dynamic linking. Use triplet x64-windows instead of x64-windows-static")

endif()

if (VCPKG_TARGET_TRIPLET STREQUAL "x64-osx")

    message(FATAL_ERROR "DocWire SDK requires dynamic linking. Use triplet x64-osx-dynamic instead of x64-osx")

endif()

if (VCPKG_TARGET_TRIPLET STREQUAL "arm64-osx")

    message(FATAL_ERROR "DocWire SDK requires dynamic linking. Use triplet arm64-osx-dynamic instead of arm64-osx")

endif() 

add_executable(integration_example integration_example.cpp) 

#find_path(MY_PACKAGE_INCLUDE_DIR

#    NAMES "docwire.h"  # 头文件名

#    PATHS "${MY_PACKAGE_ROOT}/include"

#    #NO_DEFAULT_PATH  # 不搜索系统路径

#) 

target_include_directories(integration_example PRIVATE /Volumes/zhitai/dev/docwire/vcpkg/installed/arm64-osx-dynamic/include )

target_link_directories(integration_example PRIVATE PRIVATE /Volumes/zhitai/dev/docwire/vcpkg/installed/arm64-osx-dynamic/lib ) 

#find_package(docwire CONFIG REQUIRED PATHS /Volumes/zhitai/dev/docwire/vcpkg/installed/arm64-osx-dynamic)

# Choose SDK libraries that you need to use

target_link_libraries(integration_example PRIVATE docwire_core docwire_base64 docwire_iwork docwire_ole_office_formats docwire_wv2 docwire_plain_text docwire_ocr docwire_xlsb docwire_xml docwire_mail docwire_pdf docwire_archives docwire_local_ai docwire_rtf docwire_odf_ooxml docwire_openai docwire_html docwire_fuzzy_match docwire_content_type)

 

if (WIN32 AND VCPKG_APPLOCAL_DEPS)

    # DLL files are copied to application directory on Windows (see VCPKG_APPLOCAL_DEPS) but resources are not

    file(COPY ${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/libmagic/misc/magic.mgc DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/share/libmagic/misc)

    file(COPY ${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/flan-t5-large-ct2-int8 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/share)

    file(COPY ${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/tessdata-fast DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/share)

endif() 

------------------------

posted on 2025-07-05 15:59  北京开发  阅读(13)  评论(1)    收藏  举报