下面是代码:
----------------------------
#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()
------------------------
浙公网安备 33010602011771号