调整mips下使用reset导致程序总线错误

This commit is contained in:
luoliangyi 2022-05-05 17:30:13 +08:00
parent 295a260a3f
commit 1d5b8753af
3 changed files with 40 additions and 7 deletions

View File

@ -9,6 +9,34 @@ set(DIR_SRCS ${DIR_SRCS} ${DIR_HEADS})
add_library(${PROJECT_NAME} STATIC ${DIR_SRCS}) add_library(${PROJECT_NAME} STATIC ${DIR_SRCS})
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
add_definitions(-Dx86_64="x86_64")
target_link_libraries(${PROJECT_NAME} PRIVATE
#message("静态库预留01")
#message("静态库预留02")
)
message("cpu is x86_64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a
#message("静态库预留03")
#message("静态库预留04")
)
message("cpu is arm64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "mips64")
add_definitions(-Dmips64="mips64")
target_link_libraries(${PROJECT_NAME} PRIVATE
#message("静态库预留05")
#message("静态库预留06")
)
message("cpu is mips64")
else()
message(FATAL_ERROR "not find cpu and exit cmake ...")
endif()
target_link_libraries(${PROJECT_NAME} PRIVATE usb-1.0) target_link_libraries(${PROJECT_NAME} PRIVATE usb-1.0)
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR} target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../3rdparty/nick ${PROJECT_SOURCE_DIR}/../3rdparty/nick

View File

@ -1,4 +1,4 @@
#include "image_process.h" #include "image_process.h"
#include "../../sdk/hginclude/hg_log.h" #include "../../sdk/hginclude/hg_log.h"
#include <vector> #include <vector>
@ -128,8 +128,10 @@ namespace hg_imgproc
if(buffs.empty()) if(buffs.empty())
return -1; return -1;
/////cmake当中进行定义 mips64 //在mips64下使用reset会导致崩溃
buffer_.reset(); #ifndef mips64
buffer_.reset();
#endif
for (auto& buf : buffs) { for (auto& buf : buffs) {
cv::ImreadModes rmc = param_.channels > 1 ? cv::IMREAD_COLOR : cv::IMREAD_GRAYSCALE; cv::ImreadModes rmc = param_.channels > 1 ? cv::IMREAD_COLOR : cv::IMREAD_GRAYSCALE;
@ -180,7 +182,9 @@ namespace hg_imgproc
back.release(); back.release();
front.release(); front.release();
} }
buf.reset(); #ifndef mips64
buffer_.reset();
#endif
} }
catch (const std::exception& e) catch (const std::exception& e)
{ {

View File

@ -20,10 +20,9 @@ message(STATUS ${CMAKE_HOST_SYSTEM_NAME})
target_link_libraries(${PROJECT_NAME} PRIVATE target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../../../build/libgdev.a ${PROJECT_SOURCE_DIR}/../../../build/libgdev.a
${PROJECT_SOURCE_DIR}/../../../build/libgimgproc.a ${PROJECT_SOURCE_DIR}/../../../build/libgimgproc.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_world.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libopencv_world.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libIlmImf.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibjasper.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibjasper.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibjpeg-turbo.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibjpeg-turbo.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibpng.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/liblibpng.a
@ -38,6 +37,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64") if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
add_definitions(-Dx86_64="x86_64") add_definitions(-Dx86_64="x86_64")
target_link_libraries(${PROJECT_NAME} PRIVATE target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
#message("静态库预留01") #message("静态库预留01")
#message("静态库预留02") #message("静态库预留02")
) )
@ -45,6 +45,7 @@ if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
message("cpu is x86_64") message("cpu is x86_64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64") elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
target_link_libraries(${PROJECT_NAME} PRIVATE target_link_libraries(${PROJECT_NAME} PRIVATE
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libittnotify.a
${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a ${PROJECT_SOURCE_DIR}/../3rdparty/opencv/lib/uos/${CMAKE_SYSTEM_PROCESSOR}/libtegra_hal.a
#message("静态库预留03") #message("静态库预留03")
#message("静态库预留04") #message("静态库预留04")