From fe446bf81d4f376285229a9071ac4af6d5f89645 Mon Sep 17 00:00:00 2001 From: luoliangyi <87842688@qq.com> Date: Mon, 24 Oct 2022 22:49:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3uos=E4=B8=8A=E9=9D=A2?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E7=9A=84=E7=89=88=E6=9C=AC=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E5=9C=A8kylin=E4=B8=8A=E8=BF=90=E8=A1=8C=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/wrapper/CMakeLists.txt | 6 ++++- hgdriver/wrapper/huagaoxxx_warraper_ex.cpp | 27 +++++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/hgdriver/wrapper/CMakeLists.txt b/hgdriver/wrapper/CMakeLists.txt index 837ca5f..ff1eeb9 100644 --- a/hgdriver/wrapper/CMakeLists.txt +++ b/hgdriver/wrapper/CMakeLists.txt @@ -9,6 +9,10 @@ add_definitions(-DVERSION_BUILD=${MONTHDAY}) add_definitions(-DOEM_HUAGAO) add_definitions(-Duos) add_definitions("-Wl,--exclude-libs,ALL") +add_definitions("-Wl,--wrap=log2f") +add_definitions("-Wl,--wrap=logf") +add_definitions("-Wl,--wrap=expf") +add_definitions("-Wl,--wrap=powf") #add_definitions("-B direct") add_compile_options(-std=c++11) #set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS} -g -ftest-coverage -fprofile-arcs") @@ -90,7 +94,7 @@ message(FATAL_ERROR "not find cpu and exit cmake ...") endif() -target_link_libraries(${PROJECT_NAME} PRIVATE -static-libgcc -static-libstdc++ -Wl,--exclude-libs,ALL -zdefs -Bdirect pthread dl -Wl,-rpath=.) +target_link_libraries(${PROJECT_NAME} PRIVATE -static-libgcc -static-libstdc++ -Wl,--exclude-libs,ALL -Wl,--wrap=log2f -Wl,--wrap=logf -Wl,--wrap=expf -Wl,--wrap=powf -zdefs -Bdirect pthread dl -Wl,-rpath=.) target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/../3rdparty/nick ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/include diff --git a/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp b/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp index 00ff656..91a575b 100644 --- a/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp +++ b/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp @@ -1,4 +1,4 @@ -#include "../../sdk/hginclude/huagaoxxx_warraper_ex.h" +#include "../../sdk/hginclude/huagaoxxx_warraper_ex.h" #include "../wrapper/hg_log.h" #include "../hgdev/scanner_manager.h" #include @@ -9,6 +9,7 @@ #include #include #endif +#include #define MAKE_VERSION(a, b, c, d) \ @@ -65,6 +66,30 @@ namespace err_map } extern "C" { + float __wrap_log2f(float f) + { + asm(".symver log2f, log2f@GLIBC_2.2.5"); + return log2f(f); + } + + float __wrap_logf(float f) + { + asm(".symver logf, logf@GLIBC_2.2.5"); + return logf(f); + } + + float __wrap_expf(float f) + { + asm(".symver expf, expf@GLIBC_2.2.5"); + return expf(f); + } + + float __wrap_powf(float f, float g) + { + asm(".symver powf, powf@GLIBC_2.2.5"); + return powf(f, g); + } + scanner_err hg_scanner_initialize(sane_callback callback, void* reserve) { std::string name(""),