fix for linux-building

This commit is contained in:
gb 2023-11-20 15:45:40 +08:00
parent 080f617442
commit cd6e9af474
7 changed files with 24 additions and 22 deletions

View File

@ -61,7 +61,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/include
${PROJECT_SOURCE_DIR}/../3rdparty/tiff/include
${PROJECT_SOURCE_DIR}/../../../sdk/include
${PROJECT_SOURCE_DIR}/../../sdk/hginclude
${PROJECT_SOURCE_DIR}/../../sdk/base
${PROJECT_SOURCE_DIR}/../../sdk
)
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../../build)

View File

@ -14,7 +14,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -O2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -O2")
aux_source_directory(${PROJECT_SOURCE_DIR} DIR_SRCS)
file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp"
"${PROJECT_SOURCE_DIR}/../../sdk/hginclude/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/hginclude/*.cpp"
"${PROJECT_SOURCE_DIR}/../../sdk/base/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/base/*.cpp"
"${PROJECT_SOURCE_DIR}/../../sdk/json/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/json/*.c*"
"${PROJECT_SOURCE_DIR}/../../sdk/sane_opt_json/*.h" "${PROJECT_SOURCE_DIR}/../../sdk/sane_opt_json/*.c*"
)

View File

@ -27,7 +27,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE hgdriver
target_link_libraries(${PROJECT_NAME} PRIVATE -static-libgcc -static-libstdc++ -Wl,--exclude-libs,ALL -zdefs -Bdirect pthread dl -Wl,-rpath,$ORIGIN)
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../sdk/hginclude
${PROJECT_SOURCE_DIR}/../sdk/base
${PROJECT_SOURCE_DIR}/../sdk
${PROJECT_SOURCE_DIR}/../../sdk/include
)

View File

@ -17,10 +17,10 @@
#else
#define MKDIR(a, b) mkdir(a, b)
#include <pthread.h>
#include <signal.h>
#endif
#include <sane/sane_option_definitions.h>
#include "sane_option.h"
#include <lang/app_language.h>
#include <base/utils.h>
#include <huagao/brand.h>
@ -265,7 +265,6 @@ const SANE_Device** hg_sane_middleware::to_sane_device(ScannerInfo* hgscanner, i
bytes += ALIGN_INT(strlen(hgscanner[i].name) + 1);
bytes += ALIGN_INT(strlen(hgscanner[i].vendor) + 1);
bytes += ALIGN_INT(strlen(hgscanner[i].model) + 1);
bytes += ALIGN_INT(strlen(hgscanner[i].type) + 1);
}
bytes = ALIGN_INT(bytes + 16);
@ -291,7 +290,6 @@ const SANE_Device** hg_sane_middleware::to_sane_device(ScannerInfo* hgscanner, i
COPY_DEVICE_MEMBER(name);
COPY_DEVICE_MEMBER(vendor);
COPY_DEVICE_MEMBER(model);
COPY_DEVICE_MEMBER(type);
}
//utils::to_log_with_api(hg_scanner_log_is_enable, hg_scanner_log, LOG_LEVEL_ALL, "Memory usage: %u / %u\n", val - (char*)ret, total);

View File

@ -158,7 +158,7 @@ int file_saver::open(const char* path, uint64_t size, const char* check)
dst_ = fopen(path, "wb");
if(dst_)
{
uint64_t space = 0;
unsigned long long space = 0;
err = utils::get_disk_space(path, nullptr, &space, nullptr);
if (err || space < size * 1.5)
@ -233,7 +233,7 @@ data_source::~data_source()
uint64_t dyn_mem::mem_used_bytes_ = 0;
MUTEX dyn_mem::mem_lock_;
dyn_mem::dyn_mem(size_t size) : buf_(nullptr), len_(0), space_(ALIGN_INT(size, 16))
dyn_mem::dyn_mem(size_t size) : buf_(nullptr), len_(0), space_(ALIGN_TO(size, 16))
{
buf_ = (uint8_t*)malloc(space_);
if (buf_)
@ -327,7 +327,7 @@ dyn_mem& dyn_mem::operator+=(dyn_mem& r)
{
if (len_ + r.get_rest() > space_)
{
size_t size = ALIGN_INT(len_ + r.get_rest(), 16);
size_t size = ALIGN_TO(len_ + r.get_rest(), 16);
uint8_t* buf = (uint8_t*)malloc(size);
memcpy(buf, buf_, len_);
free(buf_);

View File

@ -65,6 +65,10 @@ int gettimeofday(TIMEV* tv, struct timezone* tz)
#include <thread>
#include <iconv.h>
#include <sys/vfs.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/mman.h>
static std::mutex ini_lock_;
static std::map<std::string, simple_ini*> ini_files_;
@ -1622,11 +1626,11 @@ void shared_memory::init(void)
obj = shmget(key_, bytes_, 0600);
if (obj == -1)
obj = shmget(key_, bytes_, 0);
VLOG_MINI_3(LOG_LEVEL_DEBUG_INFO, "open existing: shmget(0x%x%08x) = %d\n", v[1], v[0], obj);
utils::to_log(LOG_LEVEL_DEBUG, "open existing: shmget(0x%x%08x) = %d\n", v[1], v[0], obj);
obj_ = (void*)obj;
std::string prev(read()), proc("");
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "shared memory content: %s\n", prev.c_str());
utils::to_log(LOG_LEVEL_DEBUG, "shared memory content: %s\n", prev.c_str());
if (prev.length())
{
proc = prev;
@ -1651,17 +1655,17 @@ void shared_memory::init(void)
first_ = true;
clear();
obj = shmget(key_, bytes_, IPC_EXCL | IPC_CREAT | 0600);
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "%s is not existing and reopen it\n", prev.c_str());
utils::to_log(LOG_LEVEL_DEBUG, "%s is not existing and reopen it\n", prev.c_str());
}
}
else
{
VLOG_MINI_3(LOG_LEVEL_DEBUG_INFO, "shmget(0x%x%08x) = %d\n", v[1], v[0], errno);
utils::to_log(LOG_LEVEL_DEBUG, "shmget(0x%x%08x) = %d\n", v[1], v[0], errno);
return;
}
}
obj_ = (void*)obj;
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "shared memory id = %d[%s], \n", obj, first_ ? "created" : "opened");
utils::to_log(LOG_LEVEL_DEBUG, "shared memory id = %d[%s], \n", obj, first_ ? "created" : "opened");
#endif
if (first_)
@ -1712,7 +1716,7 @@ char* shared_memory::get_buf(void)
#else
int* h = (int*)&obj_;
char* buf = (char*)shmat(*h, 0, 0);
VLOG_MINI_3(LOG_LEVEL_DEBUG_INFO, "shared memory %d buffer = %s, error = %d\n", *h, hg_log::format_ptr(buf).c_str(), errno);
utils::to_log(LOG_LEVEL_DEBUG, "shared memory %d buffer = %p, error = %d\n", *h, buf, errno);
#endif
return buf;
@ -1751,11 +1755,11 @@ std::string shared_memory::get_proc_name_by_pid(pid_t pid)
}
if (sizeof(pid) > 4 && v[1])
{
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "PID(%lld) name is: %s\n", pid, ret.c_str());
utils::to_log(LOG_LEVEL_DEBUG, "PID(%lld) name is: %s\n", pid, ret.c_str());
}
else
{
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "PID(%u) name is: %s\n", pid, ret.c_str());
utils::to_log(LOG_LEVEL_DEBUG, "PID(%u) name is: %s\n", pid, ret.c_str());
}
return ret;

View File

@ -11,8 +11,8 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -fvisibility=hidden")
aux_source_directory(${PROJECT_SOURCE_DIR} DIR_SRCS)
# add_subdirectory(twain)
file(GLOB DIR_HEADS "${PROJECT_SOURCE_DIR}/*.h" "${PROJECT_SOURCE_DIR}/*.hpp" "${PROJECT_SOURCE_DIR}/*.cpp"
"${PROJECT_SOURCE_DIR}/../../sdk/hginclude/*.h"
"${PROJECT_SOURCE_DIR}/../../sdk/hginclude/*.cpp"
"${PROJECT_SOURCE_DIR}/../../sdk/base/*.h"
"${PROJECT_SOURCE_DIR}/../../sdk/base/*.cpp"
)
set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS})
@ -25,7 +25,7 @@ link_libraries(dl)
# )
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../../sdk/hginclude
${PROJECT_SOURCE_DIR}/../../sdk
${PROJECT_SOURCE_DIR}/../../../sdk/include
${PROJECT_SOURCE_DIR}/../../../sdk/include/huagao
${PROJECT_SOURCE_DIR}/../../../sdk/include/twain