parent
3fc545d580
commit
31b1a378ad
@ -0,0 +1,77 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(threat_fusion LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# ── 选项 ──
|
||||
option(USE_ROS "启用 ROS 节点模式 (需要 roscpp)" OFF)
|
||||
option(USE_SPIRECV "启用 SpireCV 吊舱控制 (需要 SpireCV 库)" OFF)
|
||||
|
||||
# ── 依赖 ──
|
||||
find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs highgui)
|
||||
|
||||
# 热成像检测库路径 (引用 热成像识别/cpp 中的头文件和源码)
|
||||
set(THERMAL_DETECTOR_DIR "${CMAKE_SOURCE_DIR}/../../热成像识别/cpp")
|
||||
|
||||
# 源文件
|
||||
set(FUSION_SOURCES
|
||||
src/fusion_engine.cpp
|
||||
src/avoidance_controller.cpp
|
||||
src/gimbal_controller.cpp
|
||||
src/main.cpp
|
||||
# 直接编译热成像检测模块 (替代 Python 的 subprocess 调用)
|
||||
${THERMAL_DETECTOR_DIR}/src/thermal_preprocessor.cpp
|
||||
${THERMAL_DETECTOR_DIR}/src/thermal_detector.cpp
|
||||
)
|
||||
|
||||
# ── ROS 模式 ──
|
||||
if(USE_ROS)
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
roscpp std_msgs geometry_msgs sensor_msgs cv_bridge
|
||||
diagnostic_msgs
|
||||
prometheus_msgs
|
||||
)
|
||||
add_definitions(-DUSE_ROS)
|
||||
include_directories(${catkin_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
# ── SpireCV 模式 ──
|
||||
if(USE_SPIRECV)
|
||||
add_definitions(-DUSE_SPIRECV)
|
||||
# SpireCV 头文件路径 (根据实际安装调整)
|
||||
find_package(SpireCV QUIET)
|
||||
if(NOT SpireCV_FOUND)
|
||||
message(WARNING "SpireCV 未找到, 请设置 SpireCV_DIR 或手动指定包含路径")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_executable(threat_fusion ${FUSION_SOURCES})
|
||||
|
||||
target_include_directories(threat_fusion PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
${THERMAL_DETECTOR_DIR}/include
|
||||
${OpenCV_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
target_link_libraries(threat_fusion PRIVATE
|
||||
${OpenCV_LIBS}
|
||||
)
|
||||
|
||||
if(USE_ROS)
|
||||
target_link_libraries(threat_fusion PRIVATE ${catkin_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(USE_SPIRECV AND SpireCV_FOUND)
|
||||
target_include_directories(threat_fusion PRIVATE ${SpireCV_INCLUDE_DIRS})
|
||||
target_link_libraries(threat_fusion PRIVATE ${SpireCV_LIBRARIES})
|
||||
endif()
|
||||
|
||||
target_compile_options(threat_fusion PRIVATE /utf-8 /EHsc)
|
||||
|
||||
# Windows: 输出到项目根目录
|
||||
set_target_properties(threat_fusion PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}"
|
||||
)
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\CMakeLists.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,317 @@
|
||||
# This is the CMakeCache file.
|
||||
# For build in directory: d:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build
|
||||
# It was generated by CMake: C:/Users/29578/.conda/envs/opencv-build/Library/bin/cmake.exe
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/lib.exe
|
||||
|
||||
//Semicolon separated list of supported configuration types, only
|
||||
// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything
|
||||
// else will be ignored.
|
||||
CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /GR /EHsc
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG
|
||||
|
||||
//Libraries linked by default with all C++ applications.
|
||||
CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Value Computed by CMake.
|
||||
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/pkgRedirects
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files/threat_fusion
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/link.exe
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MT:FILEPATH=CMAKE_MT-NOTFOUND
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_COMPAT_VERSION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=threat_fusion
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_SPDX_LICENSE:STATIC=
|
||||
|
||||
//RC compiler
|
||||
CMAKE_RC_COMPILER:FILEPATH=rc
|
||||
|
||||
//Flags for Windows Resource Compiler during all build types.
|
||||
CMAKE_RC_FLAGS:STRING=-DWIN32
|
||||
|
||||
//Flags for Windows Resource Compiler during DEBUG builds.
|
||||
CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG
|
||||
|
||||
//Flags for Windows Resource Compiler during MINSIZEREL builds.
|
||||
CMAKE_RC_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags for Windows Resource Compiler during RELEASE builds.
|
||||
CMAKE_RC_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//The directory containing a CMake configuration file for OpenCV.
|
||||
OpenCV_DIR:PATH=C:/Users/29578/.conda/envs/opencv-build/Library/cmake
|
||||
|
||||
//启用 ROS 节点模式 (需要 roscpp)
|
||||
USE_ROS:BOOL=OFF
|
||||
|
||||
//启用 SpireCV 吊舱控制 (需要 SpireCV 库)
|
||||
USE_SPIRECV:BOOL=OFF
|
||||
|
||||
//Value Computed by CMake
|
||||
threat_fusion_BINARY_DIR:STATIC=D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build
|
||||
|
||||
//Value Computed by CMake
|
||||
threat_fusion_IS_TOP_LEVEL:STATIC=ON
|
||||
|
||||
//Value Computed by CMake
|
||||
threat_fusion_SOURCE_DIR:STATIC=D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=d:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=3
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=C:/Users/29578/.conda/envs/opencv-build/Library/bin/cmake.exe
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=C:/Users/29578/.conda/envs/opencv-build/Library/bin/cpack.exe
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=C:/Users/29578/.conda/envs/opencv-build/Library/bin/ctest.exe
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
|
||||
CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Visual Studio 17 2022
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=D:/vs
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=x64
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//Name of CMakeLists files to read
|
||||
CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MT
|
||||
CMAKE_MT-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//noop for ranlib
|
||||
CMAKE_RANLIB:INTERNAL=:
|
||||
//ADVANCED property for variable: CMAKE_RC_COMPILER
|
||||
CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
|
||||
CMAKE_RC_COMPILER_WORKS:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS
|
||||
CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
|
||||
CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
|
||||
CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
|
||||
CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Details about finding OpenCV
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_OpenCV:INTERNAL=[C:/Users/29578/.conda/envs/opencv-build/Library][found components: core imgproc imgcodecs highgui ][v4.13.0()]
|
||||
|
||||
@ -0,0 +1 @@
|
||||
# generated from CMake
|
||||
@ -0,0 +1,102 @@
|
||||
set(CMAKE_CXX_COMPILER "D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/cl.exe")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "MSVC")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "19.43.34808.0")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
|
||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "OFF")
|
||||
set(CMAKE_CXX_STANDARD_LATEST "23")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
|
||||
set(CMAKE_CXX26_COMPILE_FEATURES "")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Windows")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "MSVC")
|
||||
set(CMAKE_CXX_COMPILER_APPLE_SYSROOT "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID "x64")
|
||||
|
||||
set(MSVC_CXX_ARCHITECTURE_ID x64)
|
||||
|
||||
|
||||
set(CMAKE_AR "D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/lib.exe")
|
||||
set(CMAKE_CXX_COMPILER_AR "")
|
||||
set(CMAKE_RANLIB ":")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "")
|
||||
set(CMAKE_LINKER "D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/link.exe")
|
||||
set(CMAKE_LINKER_LINK "D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/link.exe")
|
||||
set(CMAKE_LINKER_LLD "lld-link")
|
||||
set(CMAKE_CXX_COMPILER_LINKER "D:/vs/VC/Tools/MSVC/14.43.34808/bin/HostX64/x64/link.exe")
|
||||
set(CMAKE_CXX_COMPILER_LINKER_ID "MSVC")
|
||||
set(CMAKE_CXX_COMPILER_LINKER_VERSION 14.43.34808.0)
|
||||
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT MSVC)
|
||||
set(CMAKE_MT "CMAKE_MT-NOTFOUND")
|
||||
set(CMAKE_TAPI "")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX )
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang IN ITEMS C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED )
|
||||
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED )
|
||||
set(CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED )
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "")
|
||||
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||
set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_IMPORT_STD "")
|
||||
set(CMAKE_CXX_COMPILER_IMPORT_STD_ERROR_MESSAGE "Unsupported generator: Visual Studio 17 2022")
|
||||
set(CMAKE_CXX_STDLIB_MODULES_JSON "")
|
||||
Binary file not shown.
@ -0,0 +1,6 @@
|
||||
set(CMAKE_RC_COMPILER "rc")
|
||||
set(CMAKE_RC_COMPILER_ARG1 "")
|
||||
set(CMAKE_RC_COMPILER_LOADED 1)
|
||||
set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC)
|
||||
set(CMAKE_RC_OUTPUT_EXTENSION .res)
|
||||
set(CMAKE_RC_COMPILER_ENV_VAR "RC")
|
||||
@ -0,0 +1,15 @@
|
||||
set(CMAKE_HOST_SYSTEM "Windows-10.0.26200")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Windows")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "10.0.26200")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Windows-10.0.26200")
|
||||
set(CMAKE_SYSTEM_NAME "Windows")
|
||||
set(CMAKE_SYSTEM_VERSION "10.0.26200")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "AMD64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
||||
@ -0,0 +1,949 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__cray__)
|
||||
# define COMPILER_ID "CrayClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
# define COMPILER_ID "Tasking"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
||||
|
||||
#elif defined(__ORANGEC__)
|
||||
# define COMPILER_ID "OrangeC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
||||
|
||||
#elif defined(__RENESAS__)
|
||||
# define COMPILER_ID "Renesas"
|
||||
/* __RENESAS_VERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF)
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__) && defined(__ti__)
|
||||
# define COMPILER_ID "TIClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(_ADI_COMPILER)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VERSIONNUM__)
|
||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__DCC__) && defined(_DIAB_TOOL)
|
||||
# define COMPILER_ID "Diab"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__)
|
||||
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
# elif defined(_ADI_COMPILER)
|
||||
# define PLATFORM_ID "ADSP"
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__ti__)
|
||||
# if defined(__ARM_ARCH)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
# elif defined(__ADSPSHARC__)
|
||||
# define ARCHITECTURE_ID "SHARC"
|
||||
|
||||
# elif defined(__ADSPBLACKFIN__)
|
||||
# define ARCHITECTURE_ID "Blackfin"
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
|
||||
# if defined(__CTC__) || defined(__CPTC__)
|
||||
# define ARCHITECTURE_ID "TriCore"
|
||||
|
||||
# elif defined(__CMCS__)
|
||||
# define ARCHITECTURE_ID "MCS"
|
||||
|
||||
# elif defined(__CARM__) || defined(__CPARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__CARC__)
|
||||
# define ARCHITECTURE_ID "ARC"
|
||||
|
||||
# elif defined(__C51__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__CPCP__)
|
||||
# define ARCHITECTURE_ID "PCP"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__RENESAS__)
|
||||
# if defined(__CCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__CCRL__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__CCRH__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#define CXX_STD_98 199711L
|
||||
#define CXX_STD_11 201103L
|
||||
#define CXX_STD_14 201402L
|
||||
#define CXX_STD_17 201703L
|
||||
#define CXX_STD_20 202002L
|
||||
#define CXX_STD_23 202302L
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG)
|
||||
# if _MSVC_LANG > CXX_STD_17
|
||||
# define CXX_STD _MSVC_LANG
|
||||
# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
|
||||
# define CXX_STD CXX_STD_20
|
||||
# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17
|
||||
# define CXX_STD CXX_STD_20
|
||||
# elif _MSVC_LANG > CXX_STD_14
|
||||
# define CXX_STD CXX_STD_17
|
||||
# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# elif defined(__INTEL_CXX11_MODE__)
|
||||
# define CXX_STD CXX_STD_11
|
||||
# else
|
||||
# define CXX_STD CXX_STD_98
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# if _MSVC_LANG > __cplusplus
|
||||
# define CXX_STD _MSVC_LANG
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif defined(__NVCOMPILER)
|
||||
# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
|
||||
# define CXX_STD CXX_STD_20
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif defined(__INTEL_COMPILER) || defined(__PGI)
|
||||
# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes)
|
||||
# define CXX_STD CXX_STD_17
|
||||
# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__)
|
||||
# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define CXX_STD CXX_STD_11
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_standard_default = "INFO" ":" "standard_default["
|
||||
#if CXX_STD > CXX_STD_23
|
||||
"26"
|
||||
#elif CXX_STD > CXX_STD_20
|
||||
"23"
|
||||
#elif CXX_STD > CXX_STD_17
|
||||
"20"
|
||||
#elif CXX_STD > CXX_STD_14
|
||||
"17"
|
||||
#elif CXX_STD > CXX_STD_11
|
||||
"14"
|
||||
#elif CXX_STD >= CXX_STD_11
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
Binary file not shown.
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{CAE07175-D007-4FC3-BFE8-47B392814159}</ProjectGuid>
|
||||
<RootNamespace>CompilerIdCXX</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
|
||||
|
||||
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
|
||||
|
||||
|
||||
|
||||
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary Condition="'$(ApplicationType)'!='Android'">MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
|
||||
<Link>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>for %%i in (cl.exe) do %40echo CMAKE_CXX_COMPILER=%%~$PATH:i</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CMakeCXXCompilerId.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\CMakeFiles\4.3.2\CompilerIdCXX\CompilerIdCXX.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\CMakeFiles\4.3.2\CompilerIdCXX\CMakeCXXCompilerId.cpp;D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\CMakeFiles\4.3.2\CompilerIdCXX\Debug\CMakeCXXCompilerId.obj
|
||||
@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.43.34808:TargetPlatformVersion=10.0.22621.0:
|
||||
Debug|x64|D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\CMakeFiles\4.3.2\CompilerIdCXX\|
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\COMPILERIDCXX\DEBUG\CMAKECXXCOMPILERID.OBJ
|
||||
Binary file not shown.
@ -0,0 +1 @@
|
||||
D:/vs/MSBuild/Microsoft/VC/v170
|
||||
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F3FC6D86-508D-3FB1-96D2-995F08B142EC}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<Platform>x64</Platform>
|
||||
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||
<PropertyGroup>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Utility</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||
<ItemDefinitionGroup>
|
||||
<PostBuildEvent>
|
||||
<Command>echo VCTargetsPath=$(VCTargetsPath)</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||
</Project>
|
||||
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\CMakeFiles\4.3.2\x64\Debug\VCTargetsPath</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.43.34808:TargetPlatformVersion=10.0.22621.0:
|
||||
Debug|x64|D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\CMakeFiles\4.3.2\|
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
{
|
||||
"InstallScripts" :
|
||||
[
|
||||
"D:/29578/Documents/Study/computer/S_E/\u8f6f\u4ef6\u4f53\u7cfb\u7ed3\u6784\u4e0e\u8bbe\u8ba1/\u8f6f\u4ef6\u5f00\u53d1/\u591a\u6a21\u6001\u878d\u5408/cpp/build/cmake_install.cmake"
|
||||
],
|
||||
"Parallel" : false
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/threat_fusion.dir
|
||||
D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/ALL_BUILD.dir
|
||||
D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/ZERO_CHECK.dir
|
||||
@ -0,0 +1 @@
|
||||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
||||
@ -0,0 +1 @@
|
||||
# CMake generation timestamp file for this directory.
|
||||
@ -0,0 +1,99 @@
|
||||
# CMake generation dependency list for this directory.
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/cmake/OpenCVConfig-version.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/cmake/OpenCVConfig.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/cmake/x64/vc17/lib/OpenCVConfig.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/cmake/x64/vc17/lib/OpenCVModules-release.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/cmake/x64/vc17/lib/OpenCVModules.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeCXXCompiler.cmake.in
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeCXXCompilerABI.cpp
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeCXXInformation.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeCommonLanguageInclude.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeCompilerIdDetection.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeDetermineCXXCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeDetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeDetermineCompilerABI.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeDetermineCompilerId.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeDetermineCompilerSupport.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeDetermineRCCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeDetermineSystem.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeFindBinUtils.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeGenericSystem.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeInitializeConfigs.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeLanguageInformation.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeParseImplicitIncludeInfo.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeParseImplicitLinkInfo.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeParseLibraryArchitecture.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeRCCompiler.cmake.in
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeRCInformation.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeSystem.cmake.in
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeSystemSpecificInformation.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeSystemSpecificInitialize.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeTestCXXCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeTestCompilerCommon.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CMakeTestRCCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/ADSP-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/ARMCC-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/ARMClang-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/AppleClang-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Borland-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/CMakeCommonCompilerMacros.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Clang-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Clang-DetermineCompilerInternal.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Cray-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/CrayClang-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Diab-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Embarcadero-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Fujitsu-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/GHS-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/HP-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/IAR-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Intel-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/MSVC-CXX.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/MSVC-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/MSVC.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/NVHPC-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/NVIDIA-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/OrangeC-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/PGI-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/PathScale-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Renesas-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/SCO-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/TI-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/TIClang-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Tasking-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/Watcom-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/XL-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/CompilerId/VS-10.vcxproj.in
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/FindPackageHandleStandardArgs.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/FindPackageMessage.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Internal/CMakeCXXLinkerInformation.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Internal/CMakeCommonLinkerInformation.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Internal/CMakeDetermineLinkerId.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Internal/CMakeInspectCXXLinker.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Internal/FeatureTesting.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Linker/MSVC-CXX.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Linker/MSVC.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Platform/Linker/Windows-MSVC-CXX.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Platform/Linker/Windows-MSVC.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Platform/Windows-Determine-CXX.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Platform/Windows-Initialize.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Platform/Windows-MSVC-CXX.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Platform/Windows-MSVC.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Platform/Windows.cmake
|
||||
C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3/Modules/Platform/WindowsPaths.cmake
|
||||
D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/CMakeLists.txt
|
||||
D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/4.3.2/CMakeCXXCompiler.cmake
|
||||
D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/4.3.2/CMakeRCCompiler.cmake
|
||||
D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/4.3.2/CMakeSystem.cmake
|
||||
@ -0,0 +1 @@
|
||||
D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/generate.stamp
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\CMakeFiles\0b24a81bad90ab657e68cd95b6485b3c\generate.stamp.rule">
|
||||
<Filter>CMake Rules</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="CMake Rules">
|
||||
<UniqueIdentifier>{3DCF309A-AE1B-37A1-AA75-5A526391928F}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,56 @@
|
||||
# Install script for directory: D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp
|
||||
|
||||
# Set the install prefix
|
||||
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX "C:/Program Files/threat_fusion")
|
||||
endif()
|
||||
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# Set the install configuration name.
|
||||
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||
if(BUILD_TYPE)
|
||||
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_CONFIG_NAME "Release")
|
||||
endif()
|
||||
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||
endif()
|
||||
|
||||
# Set the component getting installed.
|
||||
if(NOT CMAKE_INSTALL_COMPONENT)
|
||||
if(COMPONENT)
|
||||
message(STATUS "Install component: \"${COMPONENT}\"")
|
||||
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_COMPONENT)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Is this installation the result of a crosscompile?
|
||||
if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
||||
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
||||
if(CMAKE_INSTALL_LOCAL_ONLY)
|
||||
file(WRITE "D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/install_local_manifest.txt"
|
||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
||||
endif()
|
||||
if(CMAKE_INSTALL_COMPONENT)
|
||||
if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$")
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
||||
else()
|
||||
string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}")
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt")
|
||||
unset(CMAKE_INST_COMP_HASH)
|
||||
endif()
|
||||
else()
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_INSTALL_LOCAL_ONLY)
|
||||
file(WRITE "D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/${CMAKE_INSTALL_MANIFEST}"
|
||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
||||
endif()
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\x64\Release\ZERO_CHECK</FullPath>
|
||||
</ProjectOutput>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\threat_fusion.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,6 @@
|
||||
D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\src\fusion_engine.cpp;D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\threat_fusion.dir\Release\fusion_engine.obj
|
||||
D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\src\avoidance_controller.cpp;D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\threat_fusion.dir\Release\avoidance_controller.obj
|
||||
D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\src\gimbal_controller.cpp;D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\threat_fusion.dir\Release\gimbal_controller.obj
|
||||
D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\src\main.cpp;D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\threat_fusion.dir\Release\main.obj
|
||||
D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\热成像识别\cpp\src\thermal_preprocessor.cpp;D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\threat_fusion.dir\Release\thermal_preprocessor.obj
|
||||
D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\热成像识别\cpp\src\thermal_detector.cpp;D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\threat_fusion.dir\Release\thermal_detector.obj
|
||||
@ -0,0 +1,10 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\CMAKELISTS.TXT
|
||||
setlocal
|
||||
C:\Users\29578\.conda\envs\opencv-build\Library\bin\cmake.exe -SD:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp -BD:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build --check-stamp-file D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/generate.stamp
|
||||
if %errorlevel% neq 0 goto :cmEnd
|
||||
:cmEnd
|
||||
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
||||
:cmErrorLevel
|
||||
exit /b %1
|
||||
:cmDone
|
||||
if %errorlevel% neq 0 goto :VCEnd
|
||||
@ -0,0 +1,98 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\CMAKELISTS.TXT
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\OPENCVCONFIG-VERSION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\OPENCVCONFIG.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVCONFIG.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVMODULES-RELEASE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVMODULES.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXCOMPILER.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXCOMPILERABI.CPP
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECOMMONLANGUAGEINCLUDE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECOMPILERIDDETECTION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECXXCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERABI.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERID.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERSUPPORT.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINERCCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINESYSTEM.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEFINDBINUTILS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEGENERICSYSTEM.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEINITIALIZECONFIGS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKELANGUAGEINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSEIMPLICITINCLUDEINFO.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSEIMPLICITLINKINFO.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSELIBRARYARCHITECTURE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKERCCOMPILER.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKERCINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEM.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEMSPECIFICINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEMSPECIFICINITIALIZE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTCXXCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTCOMPILERCOMMON.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTRCCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ADSP-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ARMCC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ARMCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\APPLECLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\BORLAND-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CMAKECOMMONCOMPILERMACROS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CLANG-DETERMINECOMPILERINTERNAL.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\COMPAQ-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CRAY-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CRAYCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\DIAB-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\EMBARCADERO-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\FUJITSU-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\FUJITSUCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\GHS-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\GNU-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\HP-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IAR-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IBMCPP-CXX-DETERMINEVERSIONINTERNAL.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IBMCLANG-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\INTEL-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\INTELLLVM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\LCC-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\NVHPC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\NVIDIA-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\OPENWATCOM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ORANGEC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\PGI-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\PATHSCALE-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\RENESAS-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\SCO-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\SUNPRO-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TI-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TICLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TASKING-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\VISUALAGE-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\WATCOM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\XL-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\XLCLANG-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ZOS-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILERID\VS-10.VCXPROJ.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\FINDPACKAGEHANDLESTANDARDARGS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\FINDPACKAGEMESSAGE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKECXXLINKERINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKECOMMONLINKERINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKEDETERMINELINKERID.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKEINSPECTCXXLINKER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\FEATURETESTING.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\LINKER\MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\LINKER\MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\LINKER\WINDOWS-MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\LINKER\WINDOWS-MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-DETERMINE-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-INITIALIZE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWSPATHS.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKECXXCOMPILER.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKERCCOMPILER.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKESYSTEM.CMAKE
|
||||
@ -0,0 +1,2 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\CMAKELISTS.TXT
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\GENERATE.STAMP
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\THREAT_FUSION.DIR\RELEASE\AVOIDANCE_CONTROLLER.OBJ|D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\THREAT_FUSION.DIR\RELEASE\FUSION_ENGINE.OBJ|D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\THREAT_FUSION.DIR\RELEASE\GIMBAL_CONTROLLER.OBJ|D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\THREAT_FUSION.DIR\RELEASE\MAIN.OBJ|D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\THREAT_FUSION.DIR\RELEASE\THERMAL_DETECTOR.OBJ|D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\THREAT_FUSION.DIR\RELEASE\THERMAL_PREPROCESSOR.OBJ
|
||||
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.43.34808:TargetPlatformVersion=10.0.22621.0:
|
||||
Release|x64|D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\|
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\src\fusion_engine.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\src\avoidance_controller.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\src\gimbal_controller.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\src\main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\热成像识别\cpp\src\thermal_preprocessor.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\热成像识别\cpp\src\thermal_detector.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\CMakeLists.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{5FB2D2DF-C506-33C2-9474-858245B6D16C}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\x64\Release\ZERO_CHECK</FullPath>
|
||||
</ProjectOutput>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\threat_fusion.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\x64\Release\ALL_BUILD</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.43.34808:TargetPlatformVersion=10.0.22621.0:
|
||||
Release|x64|D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\|
|
||||
@ -0,0 +1,10 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\CMAKELISTS.TXT
|
||||
setlocal
|
||||
C:\Users\29578\.conda\envs\opencv-build\Library\bin\cmake.exe -SD:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp -BD:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build --check-stamp-file D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/CMakeFiles/generate.stamp
|
||||
if %errorlevel% neq 0 goto :cmEnd
|
||||
:cmEnd
|
||||
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
||||
:cmErrorLevel
|
||||
exit /b %1
|
||||
:cmDone
|
||||
if %errorlevel% neq 0 goto :VCEnd
|
||||
@ -0,0 +1,98 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\CMAKELISTS.TXT
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\OPENCVCONFIG-VERSION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\OPENCVCONFIG.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVCONFIG.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVMODULES-RELEASE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVMODULES.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXCOMPILER.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXCOMPILERABI.CPP
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECOMMONLANGUAGEINCLUDE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECOMPILERIDDETECTION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECXXCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERABI.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERID.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERSUPPORT.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINERCCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINESYSTEM.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEFINDBINUTILS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEGENERICSYSTEM.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEINITIALIZECONFIGS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKELANGUAGEINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSEIMPLICITINCLUDEINFO.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSEIMPLICITLINKINFO.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSELIBRARYARCHITECTURE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKERCCOMPILER.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKERCINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEM.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEMSPECIFICINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEMSPECIFICINITIALIZE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTCXXCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTCOMPILERCOMMON.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTRCCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ADSP-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ARMCC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ARMCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\APPLECLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\BORLAND-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CMAKECOMMONCOMPILERMACROS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CLANG-DETERMINECOMPILERINTERNAL.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\COMPAQ-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CRAY-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CRAYCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\DIAB-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\EMBARCADERO-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\FUJITSU-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\FUJITSUCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\GHS-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\GNU-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\HP-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IAR-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IBMCPP-CXX-DETERMINEVERSIONINTERNAL.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IBMCLANG-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\INTEL-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\INTELLLVM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\LCC-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\NVHPC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\NVIDIA-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\OPENWATCOM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ORANGEC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\PGI-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\PATHSCALE-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\RENESAS-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\SCO-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\SUNPRO-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TI-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TICLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TASKING-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\VISUALAGE-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\WATCOM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\XL-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\XLCLANG-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ZOS-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILERID\VS-10.VCXPROJ.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\FINDPACKAGEHANDLESTANDARDARGS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\FINDPACKAGEMESSAGE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKECXXLINKERINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKECOMMONLINKERINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKEDETERMINELINKERID.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKEINSPECTCXXLINKER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\FEATURETESTING.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\LINKER\MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\LINKER\MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\LINKER\WINDOWS-MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\LINKER\WINDOWS-MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-DETERMINE-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-INITIALIZE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWSPATHS.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKECXXCOMPILER.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKERCCOMPILER.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKESYSTEM.CMAKE
|
||||
@ -0,0 +1,2 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\CMAKELISTS.TXT
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\GENERATE.STAMP
|
||||
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\x64\Release\ZERO_CHECK</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
@ -0,0 +1,10 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\0B24A81BAD90AB657E68CD95B6485B3C\GENERATE.STAMP.RULE
|
||||
setlocal
|
||||
C:\Users\29578\.conda\envs\opencv-build\Library\bin\cmake.exe -SD:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp -BD:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/多模态融合/cpp/build/threat_fusion.sln
|
||||
if %errorlevel% neq 0 goto :cmEnd
|
||||
:cmEnd
|
||||
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
||||
:cmErrorLevel
|
||||
exit /b %1
|
||||
:cmDone
|
||||
if %errorlevel% neq 0 goto :VCEnd
|
||||
@ -0,0 +1,99 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\0B24A81BAD90AB657E68CD95B6485B3C\GENERATE.STAMP.RULE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\OPENCVCONFIG-VERSION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\OPENCVCONFIG.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVCONFIG.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVMODULES-RELEASE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\CMAKE\X64\VC17\LIB\OPENCVMODULES.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXCOMPILER.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXCOMPILERABI.CPP
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECXXINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECOMMONLANGUAGEINCLUDE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKECOMPILERIDDETECTION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECXXCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERABI.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERID.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINECOMPILERSUPPORT.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINERCCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEDETERMINESYSTEM.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEFINDBINUTILS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEGENERICSYSTEM.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEINITIALIZECONFIGS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKELANGUAGEINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSEIMPLICITINCLUDEINFO.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSEIMPLICITLINKINFO.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKEPARSELIBRARYARCHITECTURE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKERCCOMPILER.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKERCINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEM.CMAKE.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEMSPECIFICINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKESYSTEMSPECIFICINITIALIZE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTCXXCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTCOMPILERCOMMON.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\CMAKETESTRCCOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ADSP-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ARMCC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ARMCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\APPLECLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\BORLAND-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CMAKECOMMONCOMPILERMACROS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CLANG-DETERMINECOMPILERINTERNAL.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\COMPAQ-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CRAY-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\CRAYCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\DIAB-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\EMBARCADERO-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\FUJITSU-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\FUJITSUCLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\GHS-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\GNU-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\HP-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IAR-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IBMCPP-CXX-DETERMINEVERSIONINTERNAL.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\IBMCLANG-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\INTEL-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\INTELLLVM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\LCC-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\NVHPC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\NVIDIA-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\OPENWATCOM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ORANGEC-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\PGI-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\PATHSCALE-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\RENESAS-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\SCO-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\SUNPRO-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TI-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TICLANG-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\TASKING-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\VISUALAGE-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\WATCOM-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\XL-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\XLCLANG-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILER\ZOS-CXX-DETERMINECOMPILER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\COMPILERID\VS-10.VCXPROJ.IN
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\FINDPACKAGEHANDLESTANDARDARGS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\FINDPACKAGEMESSAGE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKECXXLINKERINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKECOMMONLINKERINFORMATION.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKEDETERMINELINKERID.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\CMAKEINSPECTCXXLINKER.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\INTERNAL\FEATURETESTING.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\LINKER\MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\LINKER\MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\LINKER\WINDOWS-MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\LINKER\WINDOWS-MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-DETERMINE-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-INITIALIZE.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-MSVC-CXX.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS-MSVC.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWS.CMAKE
|
||||
C:\USERS\29578\.CONDA\ENVS\OPENCV-BUILD\LIBRARY\SHARE\CMAKE-4.3\MODULES\PLATFORM\WINDOWSPATHS.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\CMAKELISTS.TXT
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKECXXCOMPILER.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKERCCOMPILER.CMAKE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\4.3.2\CMAKESYSTEM.CMAKE
|
||||
@ -0,0 +1,2 @@
|
||||
^D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\0B24A81BAD90AB657E68CD95B6485B3C\GENERATE.STAMP.RULE
|
||||
D:\29578\DOCUMENTS\STUDY\COMPUTER\S_E\软件体系结构与设计\软件开发\多模态融合\CPP\BUILD\CMAKEFILES\GENERATE.STAMP
|
||||
@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.43.34808:TargetPlatformVersion=10.0.22621.0:
|
||||
Release|x64|D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\多模态融合\cpp\build\|
|
||||
@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include "fusion_types.h"
|
||||
#include <vector>
|
||||
|
||||
// 避障速度指令 (ENU 坐标系)
|
||||
struct AvoidanceCmd {
|
||||
double vx = 0, vy = 0, vz = 0; // m/s
|
||||
double timestamp = 0;
|
||||
};
|
||||
|
||||
class AvoidanceController {
|
||||
public:
|
||||
explicit AvoidanceController(const FusionConfig& cfg);
|
||||
|
||||
// 计算避障速度, 无需避障时返回 false
|
||||
bool compute(const std::vector<FusedThreat>& threats, double now, AvoidanceCmd& cmd);
|
||||
|
||||
bool active() const { return active_; }
|
||||
void reset();
|
||||
|
||||
private:
|
||||
// 计算单个威胁的斥力向量
|
||||
void repulsion(const FusedThreat& threat, double speed, double decel_dist,
|
||||
double& rx, double& ry, double& rz) const;
|
||||
|
||||
// 合成多个斥力向量
|
||||
void combine(const std::vector<std::pair<AvoidanceCmd, const FusedThreat*>>& vectors,
|
||||
double speed, double& cx, double& cy, double& cz) const;
|
||||
|
||||
FusionConfig cfg_;
|
||||
double smooth_vx_ = 0, smooth_vy_ = 0, smooth_vz_ = 0;
|
||||
double last_avoidance_time_ = 0;
|
||||
bool active_ = false;
|
||||
};
|
||||
@ -0,0 +1,61 @@
|
||||
#pragma once
|
||||
|
||||
#include "fusion_types.h"
|
||||
#include "threat_cache.h"
|
||||
#include <vector>
|
||||
|
||||
class FusionEngine {
|
||||
public:
|
||||
explicit FusionEngine(ThreatCache& cache, const FusionConfig& cfg);
|
||||
|
||||
// 执行融合, 返回融合后的威胁列表
|
||||
std::vector<FusedThreat> fuse(double now, double drone_heading, int image_width = 640);
|
||||
|
||||
private:
|
||||
// 统一格式: (source, azimuth, confidence, level, index_into_original)
|
||||
struct UnifiedEntry {
|
||||
std::string source; // "thermal", "flash", "acoustic"
|
||||
double azimuth = 0;
|
||||
double confidence = 0;
|
||||
FusionThreatLevel level = FusionThreatLevel::SAFE;
|
||||
int original_index = 0; // 用于回查 details
|
||||
};
|
||||
|
||||
// 热成像类型 → 单独威胁等级
|
||||
static FusionThreatLevel thermal_solo_level(const std::string& type);
|
||||
// 声源类型 → 单独威胁等级
|
||||
static FusionThreatLevel acoustic_solo_level(const std::string& type);
|
||||
|
||||
// bbox 中心 → 方位角
|
||||
double bbox_to_azimuth(int bx, int bw, int image_width, double heading) const;
|
||||
// 视线方向 → 方位角
|
||||
static double sight_to_azimuth(double sight_x, double heading);
|
||||
|
||||
// 空间关联分组 (不同模态在 15° 内合并)
|
||||
std::vector<std::vector<size_t>> spatial_group(
|
||||
const std::vector<UnifiedEntry>& entries, double threshold = 15.0) const;
|
||||
|
||||
// 从分组构建 FusedThreat
|
||||
FusedThreat build_threat(
|
||||
const std::vector<UnifiedEntry>& group_entries,
|
||||
const std::vector<ThermalCacheEntry::Detection>& thermal_dets,
|
||||
const std::vector<FlashDetection>& flash_items,
|
||||
const std::vector<AcousticThreatData>& acoustic_items,
|
||||
double now);
|
||||
|
||||
// 威胁升级规则
|
||||
FusionThreatLevel escalate(
|
||||
const std::vector<UnifiedEntry>& group_entries,
|
||||
const std::vector<ThermalCacheEntry::Detection>& thermal_dets,
|
||||
const std::vector<AcousticThreatData>& acoustic_items) const;
|
||||
|
||||
// 角度差 (-180, 180]
|
||||
static double angle_diff(double a, double b);
|
||||
// 加权圆均值
|
||||
static double circular_weighted_mean(
|
||||
const std::vector<std::pair<double, double>>& azimuths_weights);
|
||||
|
||||
ThreatCache& cache_;
|
||||
FusionConfig cfg_;
|
||||
int threat_counter_ = 0;
|
||||
};
|
||||
@ -0,0 +1,167 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <cstdint>
|
||||
|
||||
// ── 融合威胁等级 ──
|
||||
enum class FusionThreatLevel {
|
||||
SAFE = 0,
|
||||
CAUTION = 1,
|
||||
WARNING = 2,
|
||||
DANGER = 3,
|
||||
CRITICAL = 4,
|
||||
};
|
||||
|
||||
struct FusionThreatLevelInfo {
|
||||
static const char* label(FusionThreatLevel l) {
|
||||
switch (l) {
|
||||
case FusionThreatLevel::SAFE: return "Safe";
|
||||
case FusionThreatLevel::CAUTION: return "Caution";
|
||||
case FusionThreatLevel::WARNING: return "Warning";
|
||||
case FusionThreatLevel::DANGER: return "Danger";
|
||||
case FusionThreatLevel::CRITICAL: return "Critical";
|
||||
}
|
||||
return "Unknown";
|
||||
}
|
||||
static bool is_dangerous(FusionThreatLevel l) {
|
||||
return l >= FusionThreatLevel::WARNING;
|
||||
}
|
||||
};
|
||||
|
||||
// ── 融合威胁 ──
|
||||
struct FusedThreat {
|
||||
std::string threat_id;
|
||||
FusionThreatLevel level = FusionThreatLevel::SAFE;
|
||||
double confidence = 0.0;
|
||||
double bearing = 0.0; // 方位角 (度), 0=北, 顺时针
|
||||
double elevation = 0.0; // 仰角 (度)
|
||||
double distance = -1.0; // 米, -1=未知
|
||||
std::vector<std::string> sources;
|
||||
std::string description;
|
||||
double timestamp = 0.0;
|
||||
};
|
||||
|
||||
// ── 闪光检测数据 ──
|
||||
struct FlashDetection {
|
||||
double cx = 0, cy = 0;
|
||||
double area = 0;
|
||||
double sight_x = 0, sight_y = 0;
|
||||
double timestamp = 0;
|
||||
};
|
||||
|
||||
// ── 声源威胁数据 ──
|
||||
struct AcousticThreatData {
|
||||
std::string threat_id;
|
||||
std::string sound_type;
|
||||
double confidence = 0;
|
||||
double azimuth = 0;
|
||||
double elevation = 0;
|
||||
double distance = -1;
|
||||
double distance_confidence = 0;
|
||||
double timestamp = 0;
|
||||
};
|
||||
|
||||
// ── 吊舱图像类型 (SpireCV) ──
|
||||
enum class GimbalImageType {
|
||||
EO = 0, // 可见光
|
||||
IR_WHITEHOT = 1, // 红外白热
|
||||
IR_PSEUDOCOLOR = 2, // 红外伪彩
|
||||
EO_IR_WHITEHOT = 3, // 可见光 + 红外白热
|
||||
EO_IR_COLOR = 4, // 可见光 + 红外伪彩
|
||||
};
|
||||
|
||||
inline const char* gimbal_image_type_str(GimbalImageType t) {
|
||||
switch (t) {
|
||||
case GimbalImageType::EO: return "EO";
|
||||
case GimbalImageType::IR_WHITEHOT: return "IR WhiteHot";
|
||||
case GimbalImageType::IR_PSEUDOCOLOR: return "IR PseudoColor";
|
||||
case GimbalImageType::EO_IR_WHITEHOT: return "EO+IR WhiteHot";
|
||||
case GimbalImageType::EO_IR_COLOR: return "EO+IR Color";
|
||||
}
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
// ── Prometheus uav_control 飞行命令模式 ──
|
||||
// 对应 prometheus_msgs/UAVCommand.Move_mode
|
||||
enum class PrometheusMoveMode {
|
||||
XYZ_POS = 0, // ENU 位置控制
|
||||
XY_VEL_Z_POS = 1, // ENU XY 速度 + Z 位置
|
||||
XYZ_VEL = 2, // ENU 速度控制 (避障使用)
|
||||
XYZ_POS_BODY = 3, // 机体坐标系位置控制
|
||||
XYZ_VEL_BODY = 4, // 机体坐标系速度控制
|
||||
XY_VEL_Z_POS_BODY = 5, // 机体 XY 速度 + Z 位置
|
||||
TRAJECTORY = 6, // 轨迹跟踪
|
||||
};
|
||||
|
||||
// ── 融合配置 ──
|
||||
struct FusionConfig {
|
||||
// 模态权重
|
||||
double weight_thermal = 0.35;
|
||||
double weight_flash = 0.30;
|
||||
double weight_acoustic = 0.35;
|
||||
double cross_boost_2 = 0.25;
|
||||
double cross_boost_3 = 0.15;
|
||||
|
||||
// 阈值
|
||||
double fusion_time_window = 0.5; // 秒
|
||||
double fusion_confidence_threshold = 0.5;
|
||||
double acoustic_confidence_threshold = 0.6;
|
||||
double thermal_hfov = 32.0; // 度
|
||||
|
||||
// 热成像
|
||||
double thermal_max_rate = 2.0; // Hz
|
||||
|
||||
// 避障
|
||||
bool avoidance_enabled = true;
|
||||
double avoidance_speed = 2.0; // m/s (不超过 maximum_safe_vel_xy)
|
||||
double avoidance_decel_distance = 10.0; // 米
|
||||
double avoidance_cooldown = 5.0; // 秒
|
||||
double avoidance_hold_time = 2.0; // 秒
|
||||
double avoidance_smoothing = 0.3;
|
||||
bool avoidance_vertical_enabled = true;
|
||||
|
||||
// 吊舱 (SpireCV AT10 Pro, 参见 P600 双光吊舱使用说明)
|
||||
std::string gimbal_type = "AT10";
|
||||
std::string gimbal_port = "/dev/ttyUSB1";
|
||||
double gimbal_kp = 1.0;
|
||||
double tracking_kp_x = 0.3;
|
||||
double tracking_kp_z = 0.1;
|
||||
double tracking_max_velocity = 2.5; // m/s
|
||||
double tracking_distance = 10.0; // 米
|
||||
int gimbal_max_yaw_rate = 40; // 度/秒
|
||||
|
||||
// ── Prometheus uav_control 框架集成 ──
|
||||
// 参考: Prometheus/Modules/uav_control
|
||||
// 话题: /uav{N}/prometheus/command (UAVCommand)
|
||||
// 话题: /uav{N}/prometheus/state (UAVState)
|
||||
// 话题: /uav{N}/prometheus/control_state (UAVControlState)
|
||||
// 消息: prometheus_msgs/
|
||||
int uav_id = 1; // 无人机编号 (用于话题命名空间)
|
||||
std::string uav_namespace = "/uav1"; // 自动生成: /uav{uav_id}
|
||||
|
||||
// Prometheus 话题 (自动拼接 uav_namespace)
|
||||
// 命令: {uav_namespace}/prometheus/command
|
||||
// 状态: {uav_namespace}/prometheus/state
|
||||
// 控制状态: {uav_namespace}/prometheus/control_state
|
||||
// 地面站信息: {uav_namespace}/prometheus/text_info
|
||||
|
||||
// SpireCV 吊舱图像话题
|
||||
// SpireCV at10_gimbal_server 发布:
|
||||
// {uav_namespace}/gimbal/image_original (原始图像)
|
||||
// {uav_namespace}/spirecv/image_det (检测结果叠加图)
|
||||
std::string thermal_image_topic = "/uav1/gimbal/image_original";
|
||||
|
||||
// 安全限制 (对齐 uav_control_outdoor.yaml)
|
||||
double maximum_safe_vel_xy = 5.0; // m/s, 与 uav_control 配置对齐
|
||||
double maximum_safe_vel_z = 4.0; // m/s
|
||||
// 地理围栏 (对齐 uav_control geo_fence)
|
||||
double geo_fence_x_min = -1000.0, geo_fence_x_max = 1000.0;
|
||||
double geo_fence_y_min = -1000.0, geo_fence_y_max = 1000.0;
|
||||
double geo_fence_z_min = -50.0, geo_fence_z_max = 1000.0;
|
||||
|
||||
// 模态开关
|
||||
bool thermal_enabled = true;
|
||||
bool flash_enabled = true;
|
||||
bool acoustic_enabled = true;
|
||||
};
|
||||
@ -0,0 +1,89 @@
|
||||
#pragma once
|
||||
|
||||
#include "fusion_types.h"
|
||||
#include <string>
|
||||
#include <functional>
|
||||
|
||||
// ── 吊舱控制器 (SpireCV AT10 Pro) ──
|
||||
// 参考: P600双光吊舱使用说明 §5 二次开发
|
||||
//
|
||||
// SpireCV API:
|
||||
// gimbal.setAngleEuler(roll, pitch, yaw) — pitch下俯=正, yaw左=正
|
||||
// gimbal.setAngleRateEuler(roll, pitch_rate, yaw_rate) — 角速率控制
|
||||
// gimbal.setFrameType(GimbalImageType) — 切换图像类型
|
||||
// gimbal.takePhoto()
|
||||
// gimbal.setZoom(double)
|
||||
//
|
||||
// ROS 话题 (SpireCV at10_gimbal_server):
|
||||
// 订阅: /uav1/gimbal/image_original (原始图像)
|
||||
// 订阅: /uav1/spirecv/image_det (检测结果叠加图)
|
||||
// 服务: /uav1/gimbal/set_frame_type (切换可见光/红外)
|
||||
// 服务: /uav1/gimbal_downward_lock (俯仰锁定角度)
|
||||
//
|
||||
// 追踪参数 (P600手册 p29):
|
||||
// kp_x=0.3, kp_z=0.1, kp_gimbal=1.0
|
||||
// max_velocity=2.5m/s, tracking_distance=10.0m
|
||||
|
||||
// 当 USE_SPIRECV 宏定义时启用真实 SpireCV 集成,
|
||||
// 否则提供空实现用于测试
|
||||
|
||||
#ifdef USE_SPIRECV
|
||||
#include <spirecv/gimbal/Gimbal.hpp>
|
||||
#endif
|
||||
|
||||
class GimbalController {
|
||||
public:
|
||||
struct State {
|
||||
double roll = 0; // 度
|
||||
double pitch = 0; // 度 (下俯为正)
|
||||
double yaw = 0; // 度 (左转为正)
|
||||
GimbalImageType image_type = GimbalImageType::IR_WHITEHOT;
|
||||
bool connected = false;
|
||||
};
|
||||
|
||||
explicit GimbalController(const FusionConfig& cfg);
|
||||
~GimbalController();
|
||||
|
||||
// 连接/断开吊舱
|
||||
bool connect();
|
||||
void disconnect();
|
||||
bool is_connected() const { return state_.connected; }
|
||||
|
||||
// 角度控制 — 绝对角度
|
||||
// pitch: 下俯为正 (P600手册约定)
|
||||
// yaw: 左转为正
|
||||
void setAngleEuler(double roll, double pitch, double yaw);
|
||||
|
||||
// 角速率控制 (度/秒)
|
||||
// 用于追踪目标时平滑旋转
|
||||
void setAngleRateEuler(double roll, double pitch_rate, double yaw_rate);
|
||||
|
||||
// 切换图像类型
|
||||
// GIMBAL_EO=可见光, GIMBAL_IRW=红外白热, GIMBAL_IRC=红外伪彩
|
||||
void setFrameType(GimbalImageType type);
|
||||
|
||||
// 追踪目标: 根据目标在图像中的偏移控制云台旋转
|
||||
// target_offset_x, target_offset_y: 目标相对于图像中心的归一化偏移 [-1, 1]
|
||||
void trackTarget(double target_offset_x, double target_offset_y);
|
||||
|
||||
// 俯仰锁定: 俯视指定角度 (用于固定监控)
|
||||
// P600手册: downward_locked_angle() → setAngleEuler(0, angle, 0)
|
||||
void setDownwardAngle(double angle_deg);
|
||||
|
||||
// 拍照
|
||||
void takePhoto();
|
||||
|
||||
// 变焦
|
||||
void setZoom(double factor);
|
||||
|
||||
// 获取当前状态
|
||||
const State& state() const { return state_; }
|
||||
|
||||
private:
|
||||
FusionConfig cfg_;
|
||||
State state_;
|
||||
|
||||
#ifdef USE_SPIRECV
|
||||
sv::Gimbal* gimbal_ = nullptr;
|
||||
#endif
|
||||
};
|
||||
@ -0,0 +1,96 @@
|
||||
#pragma once
|
||||
|
||||
#include "fusion_types.h"
|
||||
#include <mutex>
|
||||
#include <deque>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
// ── 热成像缓存条目 ──
|
||||
// 将 thermal_types.h 的 Assessment 简化为融合所需的字段
|
||||
struct ThermalCacheEntry {
|
||||
// 检测结果摘要
|
||||
struct Detection {
|
||||
std::string type; // "Person", "Barrel Overheat", etc.
|
||||
double confidence = 0;
|
||||
double max_temp = 0;
|
||||
int bbox_x = 0, bbox_y = 0, bbox_w = 0, bbox_h = 0;
|
||||
};
|
||||
std::vector<Detection> detections;
|
||||
double ambient_temp = 0;
|
||||
double timestamp = 0;
|
||||
};
|
||||
|
||||
// ── 线程安全时间窗口缓存 ──
|
||||
class ThreatCache {
|
||||
public:
|
||||
explicit ThreatCache(double time_window = 0.5)
|
||||
: time_window_(time_window) {}
|
||||
|
||||
void add_thermal(const ThermalCacheEntry& entry) {
|
||||
std::lock_guard<std::mutex> lk(mutex_);
|
||||
thermal_.push_back(entry);
|
||||
if (thermal_.size() > kMaxThermal) thermal_.pop_front();
|
||||
}
|
||||
|
||||
void add_flash(const FlashDetection& flash) {
|
||||
std::lock_guard<std::mutex> lk(mutex_);
|
||||
flash_.push_back(flash);
|
||||
if (flash_.size() > kMaxFlash) flash_.pop_front();
|
||||
}
|
||||
|
||||
void add_acoustic(const AcousticThreatData& threat) {
|
||||
std::lock_guard<std::mutex> lk(mutex_);
|
||||
acoustic_.push_back(threat);
|
||||
if (acoustic_.size() > kMaxAcoustic) acoustic_.pop_front();
|
||||
}
|
||||
|
||||
std::vector<ThermalCacheEntry> get_thermal(double now) const {
|
||||
std::lock_guard<std::mutex> lk(mutex_);
|
||||
std::vector<ThermalCacheEntry> result;
|
||||
double cutoff = now - time_window_;
|
||||
for (auto& e : thermal_) {
|
||||
if (e.timestamp >= cutoff) result.push_back(e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// 返回时间窗口内最新的一条闪光, 无则返回 false
|
||||
bool get_latest_flash(double now, FlashDetection& out) const {
|
||||
std::lock_guard<std::mutex> lk(mutex_);
|
||||
double cutoff = now - time_window_;
|
||||
for (auto it = flash_.rbegin(); it != flash_.rend(); ++it) {
|
||||
if (it->timestamp >= cutoff) { out = *it; return true; }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
std::vector<AcousticThreatData> get_acoustic(double now) const {
|
||||
std::lock_guard<std::mutex> lk(mutex_);
|
||||
std::vector<AcousticThreatData> result;
|
||||
double cutoff = now - time_window_;
|
||||
for (auto& e : acoustic_) {
|
||||
if (e.timestamp >= cutoff) result.push_back(e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void clear() {
|
||||
std::lock_guard<std::mutex> lk(mutex_);
|
||||
thermal_.clear();
|
||||
flash_.clear();
|
||||
acoustic_.clear();
|
||||
}
|
||||
|
||||
private:
|
||||
double time_window_;
|
||||
mutable std::mutex mutex_;
|
||||
|
||||
static constexpr size_t kMaxThermal = 20;
|
||||
static constexpr size_t kMaxFlash = 5;
|
||||
static constexpr size_t kMaxAcoustic = 20;
|
||||
|
||||
std::deque<ThermalCacheEntry> thermal_;
|
||||
std::deque<FlashDetection> flash_;
|
||||
std::deque<AcousticThreatData> acoustic_;
|
||||
};
|
||||
@ -0,0 +1,153 @@
|
||||
#include "avoidance_controller.h"
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159265358979323846
|
||||
#endif
|
||||
|
||||
AvoidanceController::AvoidanceController(const FusionConfig& cfg)
|
||||
: cfg_(cfg) {}
|
||||
|
||||
bool AvoidanceController::compute(
|
||||
const std::vector<FusedThreat>& threats, double now, AvoidanceCmd& cmd)
|
||||
{
|
||||
if (!cfg_.avoidance_enabled) return false;
|
||||
|
||||
// 过滤危险威胁
|
||||
std::vector<const FusedThreat*> dangerous;
|
||||
for (auto& t : threats) {
|
||||
if (FusionThreatLevelInfo::is_dangerous(t.level))
|
||||
dangerous.push_back(&t);
|
||||
}
|
||||
|
||||
if (dangerous.empty()) {
|
||||
// 衰减
|
||||
if (active_) {
|
||||
smooth_vx_ *= 0.8;
|
||||
smooth_vy_ *= 0.8;
|
||||
smooth_vz_ *= 0.8;
|
||||
if (std::fabs(smooth_vx_) < 0.01 && std::fabs(smooth_vy_) < 0.01) {
|
||||
active_ = false;
|
||||
return false;
|
||||
}
|
||||
cmd.vx = smooth_vx_;
|
||||
cmd.vy = smooth_vy_;
|
||||
cmd.vz = smooth_vz_;
|
||||
cmd.timestamp = now;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// 冷却检查
|
||||
if (active_ && (now - last_avoidance_time_) < cfg_.avoidance_cooldown) {
|
||||
double elapsed = now - last_avoidance_time_;
|
||||
if (elapsed < cfg_.avoidance_hold_time) {
|
||||
cmd.vx = smooth_vx_;
|
||||
cmd.vy = smooth_vy_;
|
||||
cmd.vz = smooth_vz_;
|
||||
cmd.timestamp = now;
|
||||
return true;
|
||||
}
|
||||
double decay = std::max(0.0, 1.0 - (elapsed - cfg_.avoidance_hold_time)
|
||||
/ (cfg_.avoidance_cooldown - cfg_.avoidance_hold_time));
|
||||
cmd.vx = smooth_vx_ * decay;
|
||||
cmd.vy = smooth_vy_ * decay;
|
||||
cmd.vz = smooth_vz_ * decay;
|
||||
cmd.timestamp = now;
|
||||
return true;
|
||||
}
|
||||
|
||||
// 计算斥力向量
|
||||
double speed = cfg_.avoidance_speed;
|
||||
double decel = cfg_.avoidance_decel_distance;
|
||||
|
||||
std::vector<std::pair<AvoidanceCmd, const FusedThreat*>> vectors;
|
||||
for (auto* t : dangerous) {
|
||||
AvoidanceCmd rc;
|
||||
repulsion(*t, speed, decel, rc.vx, rc.vy, rc.vz);
|
||||
rc.timestamp = now;
|
||||
vectors.push_back({rc, t});
|
||||
}
|
||||
|
||||
double cx, cy, cz;
|
||||
combine(vectors, speed, cx, cy, cz);
|
||||
|
||||
// 平滑
|
||||
double alpha = cfg_.avoidance_smoothing;
|
||||
smooth_vx_ = alpha * cx + (1 - alpha) * smooth_vx_;
|
||||
smooth_vy_ = alpha * cy + (1 - alpha) * smooth_vy_;
|
||||
smooth_vz_ = alpha * cz + (1 - alpha) * smooth_vz_;
|
||||
|
||||
active_ = true;
|
||||
last_avoidance_time_ = now;
|
||||
|
||||
cmd.vx = smooth_vx_;
|
||||
cmd.vy = smooth_vy_;
|
||||
cmd.vz = smooth_vz_;
|
||||
cmd.timestamp = now;
|
||||
return true;
|
||||
}
|
||||
|
||||
void AvoidanceController::repulsion(
|
||||
const FusedThreat& threat, double speed, double decel_dist,
|
||||
double& rx, double& ry, double& rz) const
|
||||
{
|
||||
// 方位角 → ENU 反方向
|
||||
double az_rad = threat.bearing * M_PI / 180.0;
|
||||
double avoid_x = -std::sin(az_rad); // ENU: x=East
|
||||
double avoid_y = -std::cos(az_rad); // ENU: y=North
|
||||
|
||||
// 距离缩放
|
||||
double scale;
|
||||
if (threat.distance > 0 && threat.distance < decel_dist) {
|
||||
scale = std::pow((decel_dist - threat.distance) / decel_dist, 2);
|
||||
} else if (threat.distance > 0) {
|
||||
scale = 0.0;
|
||||
} else {
|
||||
scale = 1.0; // 未知距离, 全力避障
|
||||
}
|
||||
|
||||
double mag = std::sqrt(avoid_x * avoid_x + avoid_y * avoid_y);
|
||||
if (mag > 0) {
|
||||
rx = avoid_x / mag * speed * scale;
|
||||
ry = avoid_y / mag * speed * scale;
|
||||
} else {
|
||||
rx = ry = 0;
|
||||
}
|
||||
|
||||
// 垂直避障
|
||||
rz = 0;
|
||||
if (cfg_.avoidance_vertical_enabled && std::fabs(threat.elevation) > 10) {
|
||||
rz = -std::sin(threat.elevation * M_PI / 180.0) * speed * 0.5 * scale;
|
||||
}
|
||||
}
|
||||
|
||||
void AvoidanceController::combine(
|
||||
const std::vector<std::pair<AvoidanceCmd, const FusedThreat*>>& vectors,
|
||||
double speed, double& cx, double& cy, double& cz) const
|
||||
{
|
||||
cx = cy = cz = 0;
|
||||
for (auto& [cmd, threat] : vectors) {
|
||||
double w = (threat->distance > 0) ? 1.0 / std::max(threat->distance, 1.0) : 2.0;
|
||||
w *= threat->confidence;
|
||||
cx += cmd.vx * w;
|
||||
cy += cmd.vy * w;
|
||||
cz += cmd.vz * w;
|
||||
}
|
||||
double mag = std::sqrt(cx * cx + cy * cy + cz * cz);
|
||||
if (mag > speed) {
|
||||
double f = speed / mag;
|
||||
cx *= f;
|
||||
cy *= f;
|
||||
cz *= f;
|
||||
}
|
||||
}
|
||||
|
||||
void AvoidanceController::reset() {
|
||||
smooth_vx_ = 0;
|
||||
smooth_vy_ = 0;
|
||||
smooth_vz_ = 0;
|
||||
active_ = false;
|
||||
}
|
||||
@ -0,0 +1,338 @@
|
||||
#include "fusion_engine.h"
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
#include <set>
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159265358979323846
|
||||
#endif
|
||||
|
||||
FusionEngine::FusionEngine(ThreatCache& cache, const FusionConfig& cfg)
|
||||
: cache_(cache), cfg_(cfg) {}
|
||||
|
||||
std::vector<FusedThreat> FusionEngine::fuse(double now, double drone_heading, int image_width) {
|
||||
std::vector<FusedThreat> threats;
|
||||
|
||||
// 收集各模态数据
|
||||
auto thermal_list = cfg_.thermal_enabled ? cache_.get_thermal(now) : std::vector<ThermalCacheEntry>();
|
||||
FlashDetection flash_item;
|
||||
bool has_flash = cfg_.flash_enabled && cache_.get_latest_flash(now, flash_item);
|
||||
auto acoustic_list = cfg_.acoustic_enabled ? cache_.get_acoustic(now) : std::vector<AcousticThreatData>();
|
||||
|
||||
// 用于回查的平铺列表
|
||||
std::vector<ThermalCacheEntry::Detection> all_thermal_dets;
|
||||
std::vector<FlashDetection> all_flash_items;
|
||||
std::vector<AcousticThreatData> all_acoustic_items;
|
||||
|
||||
// 转为统一格式
|
||||
std::vector<UnifiedEntry> unified;
|
||||
|
||||
for (auto& entry : thermal_list) {
|
||||
for (auto& det : entry.detections) {
|
||||
UnifiedEntry e;
|
||||
e.source = "thermal";
|
||||
e.azimuth = bbox_to_azimuth(det.bbox_x, det.bbox_w, image_width, drone_heading);
|
||||
e.confidence = det.confidence;
|
||||
e.level = thermal_solo_level(det.type);
|
||||
e.original_index = (int)all_thermal_dets.size();
|
||||
unified.push_back(e);
|
||||
all_thermal_dets.push_back(det);
|
||||
}
|
||||
}
|
||||
|
||||
if (has_flash) {
|
||||
UnifiedEntry e;
|
||||
e.source = "flash";
|
||||
e.azimuth = sight_to_azimuth(flash_item.sight_x, drone_heading);
|
||||
e.confidence = flash_item.area > 0 ? std::min(1.0, flash_item.area / 400.0) : 0.3;
|
||||
e.level = flash_item.area > 200 ? FusionThreatLevel::WARNING : FusionThreatLevel::CAUTION;
|
||||
e.original_index = 0;
|
||||
unified.push_back(e);
|
||||
all_flash_items.push_back(flash_item);
|
||||
}
|
||||
|
||||
for (auto& t : acoustic_list) {
|
||||
if (t.confidence < cfg_.acoustic_confidence_threshold) continue;
|
||||
UnifiedEntry e;
|
||||
e.source = "acoustic";
|
||||
e.azimuth = t.azimuth;
|
||||
e.confidence = t.confidence;
|
||||
e.level = acoustic_solo_level(t.sound_type);
|
||||
e.original_index = (int)all_acoustic_items.size();
|
||||
unified.push_back(e);
|
||||
all_acoustic_items.push_back(t);
|
||||
}
|
||||
|
||||
if (unified.empty()) return threats;
|
||||
|
||||
// 空间关联分组
|
||||
auto groups = spatial_group(unified);
|
||||
|
||||
for (auto& group : groups) {
|
||||
std::vector<UnifiedEntry> group_entries;
|
||||
for (int idx : group) group_entries.push_back(unified[idx]);
|
||||
|
||||
auto threat = build_threat(group_entries, all_thermal_dets, all_flash_items, all_acoustic_items, now);
|
||||
if (threat.confidence >= cfg_.fusion_confidence_threshold) {
|
||||
threats.push_back(threat);
|
||||
}
|
||||
}
|
||||
|
||||
// 保守策略: 单模态高置信度告警
|
||||
for (auto& e : unified) {
|
||||
if (e.confidence >= 0.8 && FusionThreatLevelInfo::is_dangerous(e.level)) {
|
||||
bool already = false;
|
||||
for (auto& t : threats) {
|
||||
if (std::fabs(angle_diff(t.bearing, e.azimuth)) < 20) {
|
||||
already = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!already) {
|
||||
FusedThreat t;
|
||||
t.threat_id = "FT-" + std::to_string(++threat_counter_);
|
||||
std::snprintf(nullptr, 0, "%04d", threat_counter_);
|
||||
char buf[16];
|
||||
std::snprintf(buf, sizeof(buf), "%04d", threat_counter_);
|
||||
t.threat_id = std::string("FT-") + buf;
|
||||
t.level = e.level;
|
||||
t.confidence = e.confidence;
|
||||
t.bearing = e.azimuth;
|
||||
t.sources.push_back(e.source);
|
||||
t.description = e.source + " high-confidence alert";
|
||||
t.timestamp = now;
|
||||
threats.push_back(t);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return threats;
|
||||
}
|
||||
|
||||
// ── 类型映射 ──
|
||||
|
||||
FusionThreatLevel FusionEngine::thermal_solo_level(const std::string& type) {
|
||||
if (type == "Person") return FusionThreatLevel::WARNING;
|
||||
if (type == "Barrel Overheat") return FusionThreatLevel::DANGER;
|
||||
if (type == "Cold Weapon") return FusionThreatLevel::CAUTION;
|
||||
if (type == "Flash Residue") return FusionThreatLevel::CAUTION;
|
||||
if (type == "Hotspot") return FusionThreatLevel::CAUTION;
|
||||
return FusionThreatLevel::CAUTION;
|
||||
}
|
||||
|
||||
FusionThreatLevel FusionEngine::acoustic_solo_level(const std::string& type) {
|
||||
if (type == "gunshot") return FusionThreatLevel::WARNING;
|
||||
if (type == "artillery") return FusionThreatLevel::DANGER;
|
||||
if (type == "explosion") return FusionThreatLevel::DANGER;
|
||||
return FusionThreatLevel::SAFE;
|
||||
}
|
||||
|
||||
// ── 方位角计算 ──
|
||||
|
||||
double FusionEngine::bbox_to_azimuth(int bx, int bw, int image_width, double heading) const {
|
||||
double cx = bx + bw / 2.0;
|
||||
double norm = (cx / std::max(image_width, 1) - 0.5) * cfg_.thermal_hfov;
|
||||
return std::fmod(heading + norm + 360.0, 360.0);
|
||||
}
|
||||
|
||||
double FusionEngine::sight_to_azimuth(double sight_x, double heading) {
|
||||
return std::fmod(heading + sight_x * (180.0 / M_PI) + 360.0, 360.0);
|
||||
}
|
||||
|
||||
// ── 空间分组 ──
|
||||
|
||||
std::vector<std::vector<size_t>> FusionEngine::spatial_group(
|
||||
const std::vector<UnifiedEntry>& entries, double threshold) const
|
||||
{
|
||||
size_t n = entries.size();
|
||||
std::vector<bool> assigned(n, false);
|
||||
std::vector<std::vector<size_t>> groups;
|
||||
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
if (assigned[i]) continue;
|
||||
std::vector<size_t> group;
|
||||
group.push_back(i);
|
||||
assigned[i] = true;
|
||||
|
||||
for (size_t j = i + 1; j < n; j++) {
|
||||
if (assigned[j]) continue;
|
||||
if (entries[i].source == entries[j].source) continue;
|
||||
double diff = std::fabs(angle_diff(entries[i].azimuth, entries[j].azimuth));
|
||||
if (diff < threshold) {
|
||||
group.push_back(j);
|
||||
assigned[j] = true;
|
||||
}
|
||||
}
|
||||
groups.push_back(group);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
if (!assigned[i]) {
|
||||
groups.push_back({i});
|
||||
}
|
||||
}
|
||||
return groups;
|
||||
}
|
||||
|
||||
// ── 构建融合威胁 ──
|
||||
|
||||
FusedThreat FusionEngine::build_threat(
|
||||
const std::vector<UnifiedEntry>& group_entries,
|
||||
const std::vector<ThermalCacheEntry::Detection>& thermal_dets,
|
||||
const std::vector<FlashDetection>& flash_items,
|
||||
const std::vector<AcousticThreatData>& acoustic_items,
|
||||
double now)
|
||||
{
|
||||
FusedThreat t;
|
||||
char buf[16];
|
||||
std::snprintf(buf, sizeof(buf), "%04d", ++threat_counter_);
|
||||
t.threat_id = std::string("FT-") + buf;
|
||||
|
||||
// 收集来源
|
||||
std::set<std::string> src_set;
|
||||
for (auto& e : group_entries) src_set.insert(e.source);
|
||||
t.sources.assign(src_set.begin(), src_set.end());
|
||||
|
||||
// 加权置信度
|
||||
auto get_weight = [&](const std::string& s) -> double {
|
||||
if (s == "thermal") return cfg_.weight_thermal;
|
||||
if (s == "flash") return cfg_.weight_flash;
|
||||
if (s == "acoustic") return cfg_.weight_acoustic;
|
||||
return 0.3;
|
||||
};
|
||||
|
||||
double total_w = 0, total_wc = 0;
|
||||
for (auto& e : group_entries) {
|
||||
double w = get_weight(e.source);
|
||||
total_w += w;
|
||||
total_wc += w * e.confidence;
|
||||
}
|
||||
double fused_conf = total_wc / std::max(total_w, 0.01);
|
||||
|
||||
// 跨模态奖励
|
||||
if (src_set.size() >= 2) fused_conf = std::min(1.0, fused_conf + cfg_.cross_boost_2);
|
||||
if (src_set.size() >= 3) fused_conf = std::min(1.0, fused_conf + cfg_.cross_boost_3);
|
||||
|
||||
t.confidence = fused_conf;
|
||||
|
||||
// 方位角: 加权圆均值
|
||||
std::vector<std::pair<double, double>> bearing_weights;
|
||||
for (auto& e : group_entries) {
|
||||
double w = get_weight(e.source) * std::max(e.confidence, 0.1);
|
||||
bearing_weights.push_back({e.azimuth, w});
|
||||
}
|
||||
t.bearing = circular_weighted_mean(bearing_weights);
|
||||
|
||||
// 距离: 取已知最小距离
|
||||
t.distance = -1.0;
|
||||
for (auto& e : group_entries) {
|
||||
double d = -1.0;
|
||||
if (e.source == "acoustic" && e.original_index < (int)acoustic_items.size()) {
|
||||
d = acoustic_items[e.original_index].distance;
|
||||
}
|
||||
if (d > 0 && (t.distance < 0 || d < t.distance)) t.distance = d;
|
||||
}
|
||||
|
||||
// 仰角: 取声源 elevation
|
||||
t.elevation = 0.0;
|
||||
for (auto& e : group_entries) {
|
||||
if (e.source == "acoustic" && e.original_index < (int)acoustic_items.size()) {
|
||||
t.elevation = acoustic_items[e.original_index].elevation;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 威胁等级
|
||||
t.level = escalate(group_entries, thermal_dets, acoustic_items);
|
||||
|
||||
// 描述
|
||||
std::string desc;
|
||||
for (auto& e : group_entries) {
|
||||
if (!desc.empty()) desc += " + ";
|
||||
if (e.source == "thermal" && e.original_index < (int)thermal_dets.size()) {
|
||||
auto& det = thermal_dets[e.original_index];
|
||||
char tmp[64];
|
||||
std::snprintf(tmp, sizeof(tmp), "%s(%.0f%%)", det.type.c_str(), e.confidence * 100);
|
||||
desc += tmp;
|
||||
} else if (e.source == "flash") {
|
||||
char tmp[64];
|
||||
std::snprintf(tmp, sizeof(tmp), "Flash(%.0fpx)", flash_items.empty() ? 0 : flash_items[0].area);
|
||||
desc += tmp;
|
||||
} else if (e.source == "acoustic" && e.original_index < (int)acoustic_items.size()) {
|
||||
auto& ac = acoustic_items[e.original_index];
|
||||
char tmp[64];
|
||||
std::snprintf(tmp, sizeof(tmp), "%s(%.0f%%)", ac.sound_type.c_str(), e.confidence * 100);
|
||||
desc += tmp;
|
||||
} else {
|
||||
desc += e.source;
|
||||
}
|
||||
}
|
||||
t.description = desc;
|
||||
t.timestamp = now;
|
||||
|
||||
return t;
|
||||
}
|
||||
|
||||
// ── 威胁升级 ──
|
||||
|
||||
FusionThreatLevel FusionEngine::escalate(
|
||||
const std::vector<UnifiedEntry>& group_entries,
|
||||
const std::vector<ThermalCacheEntry::Detection>& thermal_dets,
|
||||
const std::vector<AcousticThreatData>& acoustic_items) const
|
||||
{
|
||||
std::set<std::string> thermal_types, acoustic_types;
|
||||
bool has_flash = false;
|
||||
FusionThreatLevel max_level = FusionThreatLevel::SAFE;
|
||||
|
||||
for (auto& e : group_entries) {
|
||||
if (e.source == "thermal" && e.original_index < (int)thermal_dets.size()) {
|
||||
thermal_types.insert(thermal_dets[e.original_index].type);
|
||||
}
|
||||
if (e.source == "acoustic" && e.original_index < (int)acoustic_items.size()) {
|
||||
acoustic_types.insert(acoustic_items[e.original_index].sound_type);
|
||||
}
|
||||
if (e.source == "flash") has_flash = true;
|
||||
if (e.level > max_level) max_level = e.level;
|
||||
}
|
||||
|
||||
bool has_person = thermal_types.count("Person") > 0;
|
||||
bool has_barrel = thermal_types.count("Barrel Overheat") > 0;
|
||||
bool has_weapon = thermal_types.count("Cold Weapon") > 0;
|
||||
bool has_gunshot = acoustic_types.count("gunshot") > 0;
|
||||
bool has_explosion = acoustic_types.count("artillery") > 0 || acoustic_types.count("explosion") > 0;
|
||||
|
||||
if (has_person && has_barrel) return FusionThreatLevel::CRITICAL;
|
||||
if (has_person && has_weapon) return FusionThreatLevel::CRITICAL;
|
||||
if (has_person && has_gunshot) return FusionThreatLevel::CRITICAL;
|
||||
if (has_barrel && has_gunshot) return FusionThreatLevel::CRITICAL;
|
||||
if (has_weapon && has_gunshot) return FusionThreatLevel::CRITICAL;
|
||||
if (has_person && has_flash) return FusionThreatLevel::DANGER;
|
||||
if (has_gunshot && has_flash) return FusionThreatLevel::DANGER;
|
||||
if (has_explosion) return FusionThreatLevel::DANGER;
|
||||
if (has_person) return FusionThreatLevel::WARNING;
|
||||
if (has_barrel) return FusionThreatLevel::DANGER;
|
||||
if (has_weapon) return FusionThreatLevel::CAUTION;
|
||||
if (has_gunshot) return FusionThreatLevel::WARNING;
|
||||
|
||||
return max_level;
|
||||
}
|
||||
|
||||
// ── 工具函数 ──
|
||||
|
||||
double FusionEngine::angle_diff(double a, double b) {
|
||||
double d = std::fmod(a - b + 360.0, 360.0);
|
||||
if (d > 180.0) d -= 360.0;
|
||||
return d;
|
||||
}
|
||||
|
||||
double FusionEngine::circular_weighted_mean(
|
||||
const std::vector<std::pair<double, double>>& azimuths_weights)
|
||||
{
|
||||
double sin_sum = 0, cos_sum = 0;
|
||||
for (auto& [az, w] : azimuths_weights) {
|
||||
double rad = az * M_PI / 180.0;
|
||||
sin_sum += w * std::sin(rad);
|
||||
cos_sum += w * std::cos(rad);
|
||||
}
|
||||
return std::fmod(std::atan2(sin_sum, cos_sum) * 180.0 / M_PI + 360.0, 360.0);
|
||||
}
|
||||
@ -0,0 +1,146 @@
|
||||
#include "gimbal_controller.h"
|
||||
#include <cstdio>
|
||||
#include <cmath>
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159265358979323846
|
||||
#endif
|
||||
|
||||
GimbalController::GimbalController(const FusionConfig& cfg)
|
||||
: cfg_(cfg) {}
|
||||
|
||||
GimbalController::~GimbalController() {
|
||||
disconnect();
|
||||
}
|
||||
|
||||
bool GimbalController::connect() {
|
||||
#ifdef USE_SPIRECV
|
||||
if (gimbal_) return true;
|
||||
|
||||
// P600手册: AT10 吊舱通过串口控制, 默认 /dev/ttyUSB1
|
||||
gimbal_ = new sv::Gimbal(
|
||||
sv::GimbalType::GIMBAL_TYPE_AT10,
|
||||
sv::GimbalSerial(cfg_.gimbal_port)
|
||||
);
|
||||
|
||||
if (!gimbal_->open()) {
|
||||
std::fprintf(stderr, "[GimbalController] 无法打开吊舱: %s\n", cfg_.gimbal_port.c_str());
|
||||
delete gimbal_;
|
||||
gimbal_ = nullptr;
|
||||
state_.connected = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
state_.connected = true;
|
||||
std::printf("[GimbalController] AT10 吊舱已连接: %s\n", cfg_.gimbal_port.c_str());
|
||||
|
||||
// 默认切到红外白热模式
|
||||
setFrameType(GimbalImageType::IR_WHITEHOT);
|
||||
return true;
|
||||
#else
|
||||
std::printf("[GimbalController] SpireCV 未启用, 吊舱模拟模式\n");
|
||||
state_.connected = true;
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void GimbalController::disconnect() {
|
||||
#ifdef USE_SPIRECV
|
||||
if (gimbal_) {
|
||||
gimbal_->close();
|
||||
delete gimbal_;
|
||||
gimbal_ = nullptr;
|
||||
}
|
||||
#endif
|
||||
state_.connected = false;
|
||||
}
|
||||
|
||||
void GimbalController::setAngleEuler(double roll, double pitch, double yaw) {
|
||||
state_.roll = roll;
|
||||
state_.pitch = pitch;
|
||||
state_.yaw = yaw;
|
||||
|
||||
#ifdef USE_SPIRECV
|
||||
if (gimbal_) {
|
||||
// P600手册: setAngleEuler(roll, pitch, yaw)
|
||||
// pitch 下俯=正, yaw 左转=正
|
||||
gimbal_->setAngleEuler(roll, pitch, yaw);
|
||||
}
|
||||
#else
|
||||
std::printf("[Gimbal] setAngleEuler(%.1f, %.1f, %.1f)\n", roll, pitch, yaw);
|
||||
#endif
|
||||
}
|
||||
|
||||
void GimbalController::setAngleRateEuler(double roll, double pitch_rate, double yaw_rate) {
|
||||
#ifdef USE_SPIRECV
|
||||
if (gimbal_) {
|
||||
gimbal_->setAngleRateEuler(roll, pitch_rate, yaw_rate);
|
||||
}
|
||||
#else
|
||||
std::printf("[Gimbal] setAngleRateEuler(%.1f, %.1f, %.1f)\n", roll, pitch_rate, yaw_rate);
|
||||
#endif
|
||||
}
|
||||
|
||||
void GimbalController::setFrameType(GimbalImageType type) {
|
||||
state_.image_type = type;
|
||||
|
||||
#ifdef USE_SPIRECV
|
||||
if (gimbal_) {
|
||||
// SpireCV 图像类型映射 (P600手册 p46-48)
|
||||
sv::GimbalImageType sv_type;
|
||||
switch (type) {
|
||||
case GimbalImageType::EO: sv_type = sv::GimbalImageType::GIMBAL_EO; break;
|
||||
case GimbalImageType::IR_WHITEHOT: sv_type = sv::GimbalImageType::GIMBAL_IRW; break;
|
||||
case GimbalImageType::IR_PSEUDOCOLOR: sv_type = sv::GimbalImageType::GIMBAL_IRC; break;
|
||||
case GimbalImageType::EO_IR_WHITEHOT: sv_type = sv::GimbalImageType::GIMBAL_EO_IRW; break;
|
||||
case GimbalImageType::EO_IR_COLOR: sv_type = sv::GimbalImageType::GIMBAL_EO_IRC; break;
|
||||
default: sv_type = sv::GimbalImageType::GIMBAL_IRW; break;
|
||||
}
|
||||
gimbal_->setFrameType(sv_type);
|
||||
}
|
||||
#else
|
||||
std::printf("[Gimbal] setFrameType(%s)\n", gimbal_image_type_str(type));
|
||||
#endif
|
||||
}
|
||||
|
||||
void GimbalController::trackTarget(double target_offset_x, double target_offset_y) {
|
||||
// P600手册追踪参数: kp_gimbal=1.0
|
||||
double kp = cfg_.gimbal_kp;
|
||||
|
||||
// 将归一化偏移 [-1, 1] 转为角速率
|
||||
double max_yaw_rate = cfg_.gimbal_max_yaw_rate;
|
||||
double yaw_rate = -target_offset_x * kp * max_yaw_rate;
|
||||
double pitch_rate = target_offset_y * kp * max_yaw_rate;
|
||||
|
||||
// 限制角速率
|
||||
yaw_rate = std::max(-(double)max_yaw_rate, std::min((double)max_yaw_rate, yaw_rate));
|
||||
pitch_rate = std::max(-(double)max_yaw_rate, std::min((double)max_yaw_rate, pitch_rate));
|
||||
|
||||
setAngleRateEuler(0, pitch_rate, yaw_rate);
|
||||
}
|
||||
|
||||
void GimbalController::setDownwardAngle(double angle_deg) {
|
||||
// P600手册: downward_locked_angle() → setAngleEuler(0, angle, 0)
|
||||
setAngleEuler(0, angle_deg, 0);
|
||||
std::printf("[Gimbal] 俯仰锁定: %.1f 度\n", angle_deg);
|
||||
}
|
||||
|
||||
void GimbalController::takePhoto() {
|
||||
#ifdef USE_SPIRECV
|
||||
if (gimbal_) {
|
||||
gimbal_->takePhoto();
|
||||
}
|
||||
#else
|
||||
std::printf("[Gimbal] takePhoto()\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
void GimbalController::setZoom(double factor) {
|
||||
#ifdef USE_SPIRECV
|
||||
if (gimbal_) {
|
||||
gimbal_->setZoom(factor);
|
||||
}
|
||||
#else
|
||||
std::printf("[Gimbal] setZoom(%.1f)\n", factor);
|
||||
#endif
|
||||
}
|
||||
@ -0,0 +1,845 @@
|
||||
#include "fusion_types.h"
|
||||
#include "threat_cache.h"
|
||||
#include "fusion_engine.h"
|
||||
#include "avoidance_controller.h"
|
||||
#include "gimbal_controller.h"
|
||||
|
||||
// 直接引用热成像检测 C++ 类 (替代 Python 的 subprocess 方式)
|
||||
#include "thermal_preprocessor.h"
|
||||
#include "thermal_detector.h"
|
||||
#include "thermal_types.h"
|
||||
|
||||
#include <opencv2/core.hpp>
|
||||
#include <opencv2/imgcodecs.hpp>
|
||||
#include <opencv2/imgproc.hpp>
|
||||
#include <opencv2/highgui.hpp>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <chrono>
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include <cstdio>
|
||||
#include <set>
|
||||
#include <atomic>
|
||||
#include <thread>
|
||||
#include <mutex>
|
||||
#include <condition_variable>
|
||||
#include <queue>
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159265358979323846
|
||||
#endif
|
||||
|
||||
// ── ROS 集成 (可选) ──
|
||||
// 编译时定义 USE_ROS 启用 ROS 节点模式
|
||||
// 否则编译为独立测试工具
|
||||
//
|
||||
// Prometheus uav_control 框架集成:
|
||||
// 本节点通过 prometheus_msgs 与 uav_control 通信:
|
||||
// 订阅: /uav{N}/prometheus/state (UAVState, 获取无人机状态/航向)
|
||||
// 订阅: /uav{N}/prometheus/control_state (UAVControlState, 检查控制权)
|
||||
// 发布: /uav{N}/prometheus/command (UAVCommand, 避障速度指令)
|
||||
// 发布: /uav{N}/prometheus/text_info (TextInfo, 地面站状态消息)
|
||||
// 图像来源:
|
||||
// 订阅: /uav{N}/gimbal/image_original (sensor_msgs/Image, SpireCV 吊舱)
|
||||
#ifdef USE_ROS
|
||||
#include <ros/ros.h>
|
||||
#include <sensor_msgs/Image.h>
|
||||
#include <std_msgs/String.h>
|
||||
#include <std_msgs/Bool.h>
|
||||
#include <std_msgs/Float32MultiArray.h>
|
||||
#include <diagnostic_msgs/DiagnosticArray.h>
|
||||
#include <diagnostic_msgs/DiagnosticStatus.h>
|
||||
#include <diagnostic_msgs/KeyValue.h>
|
||||
#include <cv_bridge/cv_bridge.h>
|
||||
|
||||
// Prometheus 消息类型
|
||||
#include <prometheus_msgs/UAVCommand.h>
|
||||
#include <prometheus_msgs/UAVState.h>
|
||||
#include <prometheus_msgs/UAVControlState.h>
|
||||
#include <prometheus_msgs/DetectionInfo.h>
|
||||
#include <prometheus_msgs/MultiDetectionInfo.h>
|
||||
#include <prometheus_msgs/GimbalControl.h>
|
||||
#include <prometheus_msgs/GimbalState.h>
|
||||
#include <prometheus_msgs/TextInfo.h>
|
||||
#endif
|
||||
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
// 热成像桥接 — 直接调用 C++ 检测器 (替代 subprocess)
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
|
||||
class ThermalBridge {
|
||||
public:
|
||||
ThermalBridge(double max_rate = 2.0)
|
||||
: max_rate_(max_rate), processing_(false), fail_count_(0),
|
||||
enabled_(true), last_time_(0) {
|
||||
preprocessor_ = std::make_unique<ThermalPreprocessor>();
|
||||
detector_ = std::make_unique<ThermalDetector>();
|
||||
}
|
||||
|
||||
bool enabled() const { return enabled_; }
|
||||
|
||||
// 处理一帧图像, 同步调用
|
||||
ThermalCacheEntry process(const cv::Mat& image) {
|
||||
ThermalCacheEntry entry;
|
||||
if (!enabled_) return entry;
|
||||
|
||||
auto now = std::chrono::system_clock::now();
|
||||
double ts = std::chrono::duration<double>(now.time_since_epoch()).count();
|
||||
|
||||
if (processing_.exchange(true)) return entry;
|
||||
if (ts - last_time_ < 1.0 / std::max(max_rate_, 0.1)) {
|
||||
processing_ = false;
|
||||
return entry;
|
||||
}
|
||||
last_time_ = ts;
|
||||
|
||||
try {
|
||||
auto preprocessed = preprocessor_->preprocess(image);
|
||||
auto assessment = detector_->detect(preprocessed);
|
||||
|
||||
entry.ambient_temp = assessment.ambient_temp;
|
||||
entry.timestamp = ts;
|
||||
|
||||
for (auto& d : assessment.detections) {
|
||||
ThermalCacheEntry::Detection det;
|
||||
det.type = ThreatTypeInfo::label(d.type);
|
||||
det.confidence = d.confidence;
|
||||
det.max_temp = d.max_temp;
|
||||
det.bbox_x = d.bbox.x;
|
||||
det.bbox_y = d.bbox.y;
|
||||
det.bbox_w = d.bbox.width;
|
||||
det.bbox_h = d.bbox.height;
|
||||
entry.detections.push_back(det);
|
||||
}
|
||||
|
||||
fail_count_ = 0;
|
||||
} catch (const std::exception& e) {
|
||||
std::fprintf(stderr, "[ThermalBridge] 检测异常: %s\n", e.what());
|
||||
fail_count_++;
|
||||
if (fail_count_ >= 5) {
|
||||
std::fprintf(stderr, "[ThermalBridge] 连续 %d 次失败, 禁用\n", fail_count_);
|
||||
enabled_ = false;
|
||||
}
|
||||
}
|
||||
|
||||
processing_ = false;
|
||||
return entry;
|
||||
}
|
||||
|
||||
// 处理一帧图像, 异步回调
|
||||
using Callback = std::function<void(const ThermalCacheEntry&)>;
|
||||
void process_async(const cv::Mat& image, Callback callback) {
|
||||
if (!enabled_ || processing_.exchange(true)) return;
|
||||
|
||||
std::thread([this, image, callback]() {
|
||||
auto result = process(image);
|
||||
processing_ = false;
|
||||
if (!result.detections.empty()) {
|
||||
callback(result);
|
||||
}
|
||||
}).detach();
|
||||
}
|
||||
|
||||
private:
|
||||
double max_rate_;
|
||||
std::atomic<bool> processing_;
|
||||
int fail_count_;
|
||||
bool enabled_;
|
||||
double last_time_;
|
||||
std::unique_ptr<ThermalPreprocessor> preprocessor_;
|
||||
std::unique_ptr<ThermalDetector> detector_;
|
||||
};
|
||||
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
// 工具函数
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
|
||||
static double get_time() {
|
||||
auto now = std::chrono::system_clock::now();
|
||||
return std::chrono::duration<double>(now.time_since_epoch()).count();
|
||||
}
|
||||
|
||||
static double quaternion_to_yaw(double w, double x, double y, double z) {
|
||||
double siny_cosp = 2.0 * (w * z + x * y);
|
||||
double cosy_cosp = 1.0 - 2.0 * (y * y + z * z);
|
||||
double yaw = std::atan2(siny_cosp, cosy_cosp) * 180.0 / M_PI;
|
||||
return std::fmod(yaw + 360.0, 360.0);
|
||||
}
|
||||
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
// ROS 节点模式 — Prometheus uav_control 框架集成
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
|
||||
#ifdef USE_ROS
|
||||
|
||||
class ThreatFusionNode {
|
||||
public:
|
||||
ThreatFusionNode()
|
||||
: cache_(0.5),
|
||||
bridge_(2.0),
|
||||
fusion_engine_(cache_, cfg_),
|
||||
avoidance_ctrl_(cfg_),
|
||||
gimbal_ctrl_(cfg_),
|
||||
uav_state_received_(false),
|
||||
command_id_(0)
|
||||
{
|
||||
load_params();
|
||||
setup_ros();
|
||||
}
|
||||
|
||||
void run() {
|
||||
std::printf("[ThreatFusion] 节点已启动 (Prometheus uav_control 框架)\n");
|
||||
std::printf("[ThreatFusion] UAV%d | 命名空间: %s\n", cfg_.uav_id, cfg_.uav_namespace.c_str());
|
||||
std::printf("[ThreatFusion] 热成像:%s | 闪光:%s | 声源:%s\n",
|
||||
cfg_.thermal_enabled ? "ON" : "OFF",
|
||||
cfg_.flash_enabled ? "ON" : "OFF",
|
||||
cfg_.acoustic_enabled ? "ON" : "OFF");
|
||||
|
||||
// 连接吊舱
|
||||
if (gimbal_ctrl_.connect()) {
|
||||
std::printf("[ThreatFusion] AT10 吊舱已连接\n");
|
||||
}
|
||||
|
||||
// 等待 uav_control 状态
|
||||
ROS_INFO("[ThreatFusion] 等待 /prometheus/state ...");
|
||||
ros::Time t0 = ros::Time::now();
|
||||
while (!uav_state_received_ && (ros::Time::now() - t0).toSec() < 10.0) {
|
||||
ros::spinOnce();
|
||||
ros::Duration(0.1).sleep();
|
||||
}
|
||||
if (!uav_state_received_) {
|
||||
ROS_WARN("[ThreatFusion] 未收到 UAVState, 继续运行 (可能 uav_control 未启动)");
|
||||
} else {
|
||||
ROS_INFO("[ThreatFusion] UAVState 已接收, 无人机已连接");
|
||||
}
|
||||
|
||||
ros::spin();
|
||||
}
|
||||
|
||||
private:
|
||||
FusionConfig cfg_;
|
||||
ThreatCache cache_;
|
||||
ThermalBridge bridge_;
|
||||
FusionEngine fusion_engine_;
|
||||
AvoidanceController avoidance_ctrl_;
|
||||
GimbalController gimbal_ctrl_;
|
||||
|
||||
// 无人机状态 (从 UAVState 获取)
|
||||
double drone_heading_ = 0;
|
||||
double drone_pos_x_ = 0, drone_pos_y_ = 0, drone_pos_z_ = 0;
|
||||
bool uav_state_received_ = false;
|
||||
bool uav_armed_ = false;
|
||||
uint8_t control_state_ = 0; // UAVControlState.control_state
|
||||
|
||||
FusionThreatLevel current_level_ = FusionThreatLevel::SAFE;
|
||||
std::vector<FusedThreat> current_threats_;
|
||||
bool avoidance_active_ = false;
|
||||
std::set<std::string> published_ids_;
|
||||
std::map<std::string, std::string> modality_status_;
|
||||
uint32_t command_id_ = 0;
|
||||
|
||||
// ROS 接口
|
||||
// Prometheus 发布者
|
||||
ros::Publisher command_pub_; // /uav{N}/prometheus/command
|
||||
ros::Publisher text_info_pub_; // /uav{N}/prometheus/text_info
|
||||
ros::Publisher detection_pub_; // /uav{N}/prometheus/detection
|
||||
// 自有话题
|
||||
ros::Publisher status_pub_; // /uav{N}/threat_fusion/status
|
||||
ros::Publisher threat_pub_; // /uav{N}/threat_fusion/fused_threats
|
||||
ros::Publisher avoid_pub_; // /uav{N}/threat_fusion/avoidance_cmd
|
||||
ros::Publisher diag_pub_; // /uav{N}/threat_fusion/diagnostics
|
||||
|
||||
// Prometheus 订阅者
|
||||
ros::Subscriber uav_state_sub_; // /uav{N}/prometheus/state
|
||||
ros::Subscriber ctrl_state_sub_; // /uav{N}/prometheus/control_state
|
||||
// 图像/检测订阅者
|
||||
ros::Subscriber thermal_sub_;
|
||||
ros::Subscriber flash_bool_sub_;
|
||||
ros::Subscriber flash_det_sub_;
|
||||
// 云台状态订阅
|
||||
ros::Subscriber gimbal_state_sub_; // /uav{N}/gimbal/state
|
||||
|
||||
ros::Timer fusion_timer_;
|
||||
ros::Timer status_timer_;
|
||||
ros::Timer diag_timer_;
|
||||
|
||||
void load_params() {
|
||||
auto& nh = *ros::NodeHandle("~");
|
||||
|
||||
// Prometheus uav_control 参数
|
||||
cfg_.uav_id = nh.param("uav_id", 1);
|
||||
cfg_.uav_namespace = "/uav" + std::to_string(cfg_.uav_id);
|
||||
|
||||
cfg_.thermal_enabled = nh.param("thermal_enabled", true);
|
||||
cfg_.flash_enabled = nh.param("flash_enabled", true);
|
||||
cfg_.acoustic_enabled = nh.param("acoustic_enabled", true);
|
||||
cfg_.thermal_image_topic = nh.param("thermal_image_topic",
|
||||
cfg_.uav_namespace + "/gimbal/image_original");
|
||||
cfg_.fusion_time_window = nh.param("fusion_time_window", 0.5);
|
||||
cfg_.fusion_confidence_threshold = nh.param("fusion_confidence_threshold", 0.5);
|
||||
cfg_.acoustic_confidence_threshold = nh.param("acoustic_confidence_threshold", 0.6);
|
||||
cfg_.avoidance_enabled = nh.param("avoidance_enabled", true);
|
||||
cfg_.avoidance_speed = nh.param("avoidance_speed", 2.0);
|
||||
cfg_.avoidance_decel_distance = nh.param("avoidance_decel_distance", 10.0);
|
||||
cfg_.avoidance_cooldown = nh.param("avoidance_cooldown", 5.0);
|
||||
cfg_.avoidance_hold_time = nh.param("avoidance_hold_time", 2.0);
|
||||
cfg_.avoidance_smoothing = nh.param("avoidance_smoothing", 0.3);
|
||||
cfg_.thermal_hfov = nh.param("thermal_hfov", 32.0);
|
||||
|
||||
// 安全限制 (对齐 uav_control_outdoor.yaml)
|
||||
cfg_.maximum_safe_vel_xy = nh.param("maximum_safe_vel_xy", 5.0);
|
||||
cfg_.maximum_safe_vel_z = nh.param("maximum_safe_vel_z", 4.0);
|
||||
|
||||
// P600 吊舱参数
|
||||
cfg_.gimbal_port = nh.param("gimbal_port", std::string("/dev/ttyUSB1"));
|
||||
cfg_.gimbal_kp = nh.param("gimbal_kp", 1.0);
|
||||
cfg_.tracking_kp_x = nh.param("tracking_kp_x", 0.3);
|
||||
cfg_.tracking_kp_z = nh.param("tracking_kp_z", 0.1);
|
||||
cfg_.tracking_max_velocity = nh.param("tracking_max_velocity", 2.5);
|
||||
cfg_.tracking_distance = nh.param("tracking_distance", 10.0);
|
||||
cfg_.gimbal_max_yaw_rate = nh.param("gimbal_max_yaw_rate", 40);
|
||||
|
||||
modality_status_["thermal"] = cfg_.thermal_enabled ? "OK" : "DISABLED";
|
||||
modality_status_["flash"] = cfg_.flash_enabled ? "OK" : "DISABLED";
|
||||
modality_status_["acoustic"] = cfg_.acoustic_enabled ? "OK" : "DISABLED";
|
||||
}
|
||||
|
||||
void setup_ros() {
|
||||
ros::NodeHandle nh;
|
||||
|
||||
// ── Prometheus 发布者 ──
|
||||
// 发布避障速度指令到 uav_control
|
||||
command_pub_ = nh.advertise<prometheus_msgs::UAVCommand>(
|
||||
cfg_.uav_namespace + "/prometheus/command", 10);
|
||||
// 发布地面站文本消息
|
||||
text_info_pub_ = nh.advertise<prometheus_msgs::TextInfo>(
|
||||
cfg_.uav_namespace + "/prometheus/text_info", 5);
|
||||
// 发布检测结果 (供其他模块使用, 如 yolov5_tracking)
|
||||
detection_pub_ = nh.advertise<prometheus_msgs::MultiDetectionInfo>(
|
||||
cfg_.uav_namespace + "/prometheus/detection", 5);
|
||||
|
||||
// ── 自有话题发布者 ──
|
||||
status_pub_ = nh.advertise<std_msgs::String>(
|
||||
cfg_.uav_namespace + "/threat_fusion/status", 5);
|
||||
threat_pub_ = nh.advertise<std_msgs::String>(
|
||||
cfg_.uav_namespace + "/threat_fusion/fused_threats", 10);
|
||||
avoid_pub_ = nh.advertise<prometheus_msgs::UAVCommand>(
|
||||
cfg_.uav_namespace + "/threat_fusion/avoidance_cmd", 5);
|
||||
diag_pub_ = nh.advertise<diagnostic_msgs::DiagnosticArray>(
|
||||
cfg_.uav_namespace + "/threat_fusion/diagnostics", 5);
|
||||
|
||||
// ── Prometheus 订阅者 ──
|
||||
// 订阅无人机状态 (替代 MAVROS pose 订阅)
|
||||
uav_state_sub_ = nh.subscribe(
|
||||
cfg_.uav_namespace + "/prometheus/state", 5,
|
||||
&ThreatFusionNode::uav_state_cb, this);
|
||||
// 订阅控制状态 (检查是否处于 COMMAND_CONTROL 模式)
|
||||
ctrl_state_sub_ = nh.subscribe(
|
||||
cfg_.uav_namespace + "/prometheus/control_state", 5,
|
||||
&ThreatFusionNode::ctrl_state_cb, this);
|
||||
// 订阅云台状态
|
||||
gimbal_state_sub_ = nh.subscribe(
|
||||
cfg_.uav_namespace + "/gimbal/state", 5,
|
||||
&ThreatFusionNode::gimbal_state_cb, this);
|
||||
|
||||
// ── 图像/检测订阅者 ──
|
||||
if (cfg_.thermal_enabled) {
|
||||
thermal_sub_ = nh.subscribe(cfg_.thermal_image_topic, 1,
|
||||
&ThreatFusionNode::thermal_image_cb, this);
|
||||
}
|
||||
if (cfg_.flash_enabled) {
|
||||
flash_bool_sub_ = nh.subscribe("/flash_detector/flash_detected", 5,
|
||||
&ThreatFusionNode::flash_bool_cb, this);
|
||||
flash_det_sub_ = nh.subscribe("/flash_detector/detection", 5,
|
||||
&ThreatFusionNode::flash_detection_cb, this);
|
||||
}
|
||||
|
||||
// ── 定时器 ──
|
||||
fusion_timer_ = nh.createTimer(ros::Duration(0.1),
|
||||
&ThreatFusionNode::fusion_timer_cb, this);
|
||||
status_timer_ = nh.createTimer(ros::Duration(0.5),
|
||||
&ThreatFusionNode::status_timer_cb, this);
|
||||
diag_timer_ = nh.createTimer(ros::Duration(1.0),
|
||||
&ThreatFusionNode::diag_timer_cb, this);
|
||||
}
|
||||
|
||||
// ── Prometheus 回调 ──
|
||||
|
||||
// 从 UAVState 获取无人机状态 (替代 MAVROS pose)
|
||||
// UAVState.attitude[2] = yaw (rad, ENU 坐标系)
|
||||
void uav_state_cb(const prometheus_msgs::UAVState::ConstPtr& msg) {
|
||||
uav_state_received_ = true;
|
||||
uav_armed_ = msg->armed;
|
||||
|
||||
// 位置 (ENU)
|
||||
drone_pos_x_ = msg->position[0];
|
||||
drone_pos_y_ = msg->position[1];
|
||||
drone_pos_z_ = msg->position[2];
|
||||
|
||||
// 航向: UAVState.attitude[2] 为 yaw (rad), ENU 坐标系
|
||||
// Prometheus 约定: yaw=0 指向东, 逆时针为正
|
||||
// 我们需要: 0=北, 顺时针为正
|
||||
double yaw_rad = msg->attitude[2];
|
||||
drone_heading_ = std::fmod((90.0 - yaw_rad * 180.0 / M_PI) + 360.0, 360.0);
|
||||
}
|
||||
|
||||
void ctrl_state_cb(const prometheus_msgs::UAVControlState::ConstPtr& msg) {
|
||||
control_state_ = msg->control_state;
|
||||
}
|
||||
|
||||
void gimbal_state_cb(const prometheus_msgs::GimbalState::ConstPtr& msg) {
|
||||
// 可用于同步云台角度状态
|
||||
}
|
||||
|
||||
// ── 图像/检测回调 ──
|
||||
|
||||
void thermal_image_cb(const sensor_msgs::Image::ConstPtr& msg) {
|
||||
try {
|
||||
auto cv_img = cv_bridge::toCvShare(msg, "bgr8");
|
||||
auto entry = bridge_.process(cv_img->image);
|
||||
if (!entry.detections.empty()) {
|
||||
entry.timestamp = get_time();
|
||||
cache_.add_thermal(entry);
|
||||
|
||||
// 发布检测结果为 Prometheus DetectionInfo (供追踪模块使用)
|
||||
publish_detections(entry, msg->header);
|
||||
|
||||
// 用第一个人员检测的偏移量控制云台追踪
|
||||
for (auto& d : entry.detections) {
|
||||
if (d.type == "Person" && d.bbox_w > 0) {
|
||||
double img_cx = msg->width / 2.0;
|
||||
double img_cy = msg->height / 2.0;
|
||||
double det_cx = d.bbox_x + d.bbox_w / 2.0;
|
||||
double det_cy = d.bbox_y + d.bbox_h / 2.0;
|
||||
double offset_x = (det_cx - img_cx) / img_cx;
|
||||
double offset_y = (det_cy - img_cy) / img_cy;
|
||||
gimbal_ctrl_.trackTarget(offset_x, offset_y);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (const cv_bridge::Exception& e) {
|
||||
ROS_WARN("[ThreatFusion] cv_bridge 异常: %s", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
void flash_bool_cb(const std_msgs::Bool::ConstPtr& msg) {}
|
||||
|
||||
void flash_detection_cb(const std_msgs::Float32MultiArray::ConstPtr& msg) {
|
||||
auto& data = msg->data;
|
||||
if (data.size() >= 5) {
|
||||
FlashDetection f;
|
||||
f.cx = data[0]; f.cy = data[1]; f.area = data[2];
|
||||
f.sight_x = data[3]; f.sight_y = data[4];
|
||||
f.timestamp = get_time();
|
||||
cache_.add_flash(f);
|
||||
}
|
||||
}
|
||||
|
||||
// ── 定时器 ──
|
||||
|
||||
void fusion_timer_cb(const ros::TimerEvent&) {
|
||||
double now = get_time();
|
||||
auto threats = fusion_engine_.fuse(now, drone_heading_);
|
||||
current_threats_ = threats;
|
||||
|
||||
current_level_ = FusionThreatLevel::SAFE;
|
||||
for (auto& t : threats) {
|
||||
if (t.level > current_level_) current_level_ = t.level;
|
||||
}
|
||||
|
||||
// 发布新威胁
|
||||
for (auto& t : threats) {
|
||||
if (published_ids_.find(t.threat_id) == published_ids_.end()) {
|
||||
publish_fused_threat(t);
|
||||
published_ids_.insert(t.threat_id);
|
||||
}
|
||||
}
|
||||
if (published_ids_.size() > 100) {
|
||||
std::set<std::string> keep(published_ids_.rbegin(), std::next(published_ids_.rbegin(), 50));
|
||||
published_ids_ = keep;
|
||||
}
|
||||
|
||||
// 避障: 通过 Prometheus UAVCommand 发送速度指令
|
||||
AvoidanceCmd cmd;
|
||||
avoidance_active_ = avoidance_ctrl_.compute(threats, now, cmd);
|
||||
if (avoidance_active_ && uav_armed_) {
|
||||
// 限速 (与 uav_control 安全限制对齐)
|
||||
cmd.vx = std::max(-cfg_.maximum_safe_vel_xy, std::min(cfg_.maximum_safe_vel_xy, cmd.vx));
|
||||
cmd.vy = std::max(-cfg_.maximum_safe_vel_xy, std::min(cfg_.maximum_safe_vel_xy, cmd.vy));
|
||||
cmd.vz = std::max(-cfg_.maximum_safe_vel_z, std::min(cfg_.maximum_safe_vel_z, cmd.vz));
|
||||
|
||||
// 地理围栏检查
|
||||
double new_x = drone_pos_x_ + cmd.vx * 0.1;
|
||||
double new_y = drone_pos_y_ + cmd.vy * 0.1;
|
||||
double new_z = drone_pos_z_ + cmd.vz * 0.1;
|
||||
if (new_x < cfg_.geo_fence_x_min || new_x > cfg_.geo_fence_x_max ||
|
||||
new_y < cfg_.geo_fence_y_min || new_y > cfg_.geo_fence_y_max ||
|
||||
new_z < cfg_.geo_fence_z_min || new_z > cfg_.geo_fence_z_max) {
|
||||
ROS_WARN("[ThreatFusion] 避障指令超出地理围栏, 已拦截");
|
||||
avoidance_active_ = false;
|
||||
} else {
|
||||
// 发布到 Prometheus 命令话题
|
||||
auto uav_cmd = make_avoidance_command(cmd);
|
||||
command_pub_.publish(uav_cmd);
|
||||
avoid_pub_.publish(uav_cmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void status_timer_cb(const ros::TimerEvent&) {
|
||||
// 发布自有状态 (JSON)
|
||||
char buf[512];
|
||||
std::snprintf(buf, sizeof(buf),
|
||||
"{\"threat_level\":\"%s\",\"threat_count\":%d,\"avoidance_active\":%s,"
|
||||
"\"drone_heading\":%.1f,\"uav_armed\":%s,\"control_state\":%d,"
|
||||
"\"modalities\":{\"thermal\":\"%s\",\"flash\":\"%s\",\"acoustic\":\"%s\"},"
|
||||
"\"timestamp\":%.3f}",
|
||||
FusionThreatLevelInfo::label(current_level_),
|
||||
(int)current_threats_.size(),
|
||||
avoidance_active_ ? "true" : "false",
|
||||
drone_heading_,
|
||||
uav_armed_ ? "true" : "false",
|
||||
(int)control_state_,
|
||||
modality_status_["thermal"].c_str(),
|
||||
modality_status_["flash"].c_str(),
|
||||
modality_status_["acoustic"].c_str(),
|
||||
get_time());
|
||||
|
||||
std_msgs::String msg;
|
||||
msg.data = buf;
|
||||
status_pub_.publish(msg);
|
||||
|
||||
// 同时发布 Prometheus TextInfo (地面站可见)
|
||||
if (current_level_ >= FusionThreatLevel::WARNING) {
|
||||
prometheus_msgs::TextInfo info;
|
||||
info.header.stamp = ros::Time::now();
|
||||
if (current_level_ >= FusionThreatLevel::CRITICAL)
|
||||
info.MessageType = prometheus_msgs::TextInfo::FATAL;
|
||||
else if (current_level_ >= FusionThreatLevel::DANGER)
|
||||
info.MessageType = prometheus_msgs::TextInfo::ERROR;
|
||||
else
|
||||
info.MessageType = prometheus_msgs::TextInfo::WARN;
|
||||
|
||||
char info_buf[256];
|
||||
std::snprintf(info_buf, sizeof(info_buf),
|
||||
"ThreatFusion: %s | %d threats | avoidance=%s",
|
||||
FusionThreatLevelInfo::label(current_level_),
|
||||
(int)current_threats_.size(),
|
||||
avoidance_active_ ? "ON" : "OFF");
|
||||
info.Message = info_buf;
|
||||
text_info_pub_.publish(info);
|
||||
}
|
||||
}
|
||||
|
||||
void diag_timer_cb(const ros::TimerEvent&) {
|
||||
diagnostic_msgs::DiagnosticArray diag;
|
||||
diag.header.stamp = ros::Time::now();
|
||||
diagnostic_msgs::DiagnosticStatus ds;
|
||||
ds.name = cfg_.uav_namespace + "/threat_fusion";
|
||||
ds.level = (current_level_ >= FusionThreatLevel::DANGER)
|
||||
? diagnostic_msgs::DiagnosticStatus::WARN
|
||||
: diagnostic_msgs::DiagnosticStatus::OK;
|
||||
|
||||
char buf[128];
|
||||
std::snprintf(buf, sizeof(buf), "Level: %s, Threats: %d",
|
||||
FusionThreatLevelInfo::label(current_level_),
|
||||
(int)current_threats_.size());
|
||||
ds.message = buf;
|
||||
|
||||
diagnostic_msgs::KeyValue kv;
|
||||
kv.key = "thermal"; kv.value = modality_status_["thermal"]; ds.values.push_back(kv);
|
||||
kv.key = "flash"; kv.value = modality_status_["flash"]; ds.values.push_back(kv);
|
||||
kv.key = "acoustic"; kv.value = modality_status_["acoustic"]; ds.values.push_back(kv);
|
||||
kv.key = "avoidance_active"; kv.value = avoidance_active_ ? "true" : "false"; ds.values.push_back(kv);
|
||||
kv.key = "uav_state_received"; kv.value = uav_state_received_ ? "true" : "false"; ds.values.push_back(kv);
|
||||
diag.status.push_back(ds);
|
||||
diag_pub_.publish(diag);
|
||||
}
|
||||
|
||||
// ── 辅助 ──
|
||||
|
||||
// 构建 Prometheus 避障命令 (ENU 速度模式)
|
||||
prometheus_msgs::UAVCommand make_avoidance_command(const AvoidanceCmd& cmd) {
|
||||
prometheus_msgs::UAVCommand ucmd;
|
||||
ucmd.header.stamp = ros::Time::now();
|
||||
ucmd.Agent_CMD = prometheus_msgs::UAVCommand::Move;
|
||||
ucmd.Move_mode = prometheus_msgs::UAVCommand::XYZ_VEL; // ENU 速度控制
|
||||
ucmd.velocity_ref[0] = cmd.vx; // East
|
||||
ucmd.velocity_ref[1] = cmd.vy; // North
|
||||
ucmd.velocity_ref[2] = cmd.vz; // Up
|
||||
ucmd.yaw_ref = drone_heading_ * M_PI / 180.0; // 保持当前航向
|
||||
ucmd.Command_ID = ++command_id_;
|
||||
return ucmd;
|
||||
}
|
||||
|
||||
// 发布热成像检测结果为 Prometheus MultiDetectionInfo
|
||||
void publish_detections(const ThermalCacheEntry& entry,
|
||||
const std_msgs::Header& img_header) {
|
||||
prometheus_msgs::MultiDetectionInfo multi;
|
||||
multi.header = img_header;
|
||||
multi.num_objs = (int32_t)entry.detections.size();
|
||||
multi.detect_or_track = 0; // 0=detection
|
||||
|
||||
for (auto& d : entry.detections) {
|
||||
prometheus_msgs::DetectionInfo det;
|
||||
det.header = img_header;
|
||||
det.object_name = d.type;
|
||||
det.detected = true;
|
||||
det.frame = 0; // 本地坐标系
|
||||
det.pixel_position[0] = d.bbox_x + d.bbox_w / 2;
|
||||
det.pixel_position[1] = d.bbox_y + d.bbox_h / 2;
|
||||
// 类别映射
|
||||
if (d.type == "Person") det.category = 1;
|
||||
else if (d.type == "Hotspot") det.category = 2;
|
||||
else if (d.type.find("Barrel") != std::string::npos) det.category = 3;
|
||||
else if (d.type.find("Weapon") != std::string::npos || d.type.find("Gun") != std::string::npos)
|
||||
det.category = 4;
|
||||
else det.category = 99;
|
||||
|
||||
multi.detection_infos.push_back(det);
|
||||
}
|
||||
detection_pub_.publish(multi);
|
||||
}
|
||||
|
||||
void publish_fused_threat(const FusedThreat& t) {
|
||||
char buf[512];
|
||||
std::string sources_str = "[";
|
||||
for (size_t i = 0; i < t.sources.size(); i++) {
|
||||
if (i > 0) sources_str += ",";
|
||||
sources_str += "\"" + t.sources[i] + "\"";
|
||||
}
|
||||
sources_str += "]";
|
||||
|
||||
std::snprintf(buf, sizeof(buf),
|
||||
"{\"id\":\"%s\",\"level\":\"%s\",\"confidence\":%.3f,"
|
||||
"\"bearing\":%.1f,\"elevation\":%.1f,\"distance\":%.1f,"
|
||||
"\"sources\":%s,\"description\":\"%s\",\"timestamp\":%.3f}",
|
||||
t.threat_id.c_str(),
|
||||
FusionThreatLevelInfo::label(t.level),
|
||||
t.confidence,
|
||||
t.bearing, t.elevation, t.distance,
|
||||
sources_str.c_str(),
|
||||
t.description.c_str(),
|
||||
t.timestamp);
|
||||
|
||||
std_msgs::String msg;
|
||||
msg.data = buf;
|
||||
threat_pub_.publish(msg);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // USE_ROS
|
||||
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
// 独立测试模式 (无 ROS)
|
||||
// ══════════════════════════════════════════════════════════════
|
||||
|
||||
#ifndef USE_ROS
|
||||
|
||||
static void print_usage(const char* prog) {
|
||||
std::cout << "多模态威胁融合 — 独立测试模式\n"
|
||||
<< "用法:\n"
|
||||
<< " " << prog << " <image> [options]\n"
|
||||
<< " " << prog << " <directory> [options]\n\n"
|
||||
<< "选项:\n"
|
||||
<< " --no-show 不显示结果\n"
|
||||
<< " --json JSON 输出\n"
|
||||
<< " --simulate 模拟融合流程 (用热成像结果模拟多模态)\n"
|
||||
<< " --gimbal-test 测试云台控制 (需要 SpireCV)\n"
|
||||
<< " --help 显示帮助\n";
|
||||
}
|
||||
|
||||
static std::string get_output_path(const std::string& input_path) {
|
||||
auto pos = input_path.find_last_of("/\\");
|
||||
std::string dir = (pos != std::string::npos) ? input_path.substr(0, pos + 1) : "";
|
||||
std::string fname = (pos != std::string::npos) ? input_path.substr(pos + 1) : input_path;
|
||||
return dir + "fusion_" + fname;
|
||||
}
|
||||
|
||||
static bool has_image_ext(const std::string& path) {
|
||||
std::string ext;
|
||||
auto pos = path.rfind('.');
|
||||
if (pos != std::string::npos) ext = path.substr(pos);
|
||||
return ext == ".jpg" || ext == ".jpeg" || ext == ".png" || ext == ".bmp" || ext == ".tif";
|
||||
}
|
||||
|
||||
// 模拟融合: 用热成像检测结果模拟多模态融合
|
||||
static void simulate_fusion(const ThermalCacheEntry& thermal_entry,
|
||||
const FusionConfig& cfg,
|
||||
double heading,
|
||||
int image_width)
|
||||
{
|
||||
ThreatCache cache(cfg.fusion_time_window);
|
||||
cache.add_thermal(thermal_entry);
|
||||
|
||||
FusionEngine engine(cache, cfg);
|
||||
auto threats = engine.fuse(get_time(), heading, image_width);
|
||||
|
||||
std::cout << "\n── 融合结果 ──\n";
|
||||
std::cout << "威胁数量: " << threats.size() << "\n";
|
||||
for (auto& t : threats) {
|
||||
std::cout << " [" << FusionThreatLevelInfo::label(t.level) << "] "
|
||||
<< t.threat_id << " conf=" << (int)(t.confidence * 100) << "% "
|
||||
<< "bearing=" << (int)t.bearing << "° "
|
||||
<< "dist=" << t.distance << "m "
|
||||
<< "sources=";
|
||||
for (auto& s : t.sources) std::cout << s << ",";
|
||||
std::cout << " " << t.description << "\n";
|
||||
}
|
||||
|
||||
// 避障
|
||||
AvoidanceController avoid(cfg);
|
||||
AvoidanceCmd cmd;
|
||||
if (avoid.compute(threats, get_time(), cmd)) {
|
||||
std::cout << " 避障指令: vx=" << cmd.vx << " vy=" << cmd.vy << " vz=" << cmd.vz << "\n";
|
||||
} else {
|
||||
std::cout << " 无需避障\n";
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
if (argc < 2) { print_usage(argv[0]); return 1; }
|
||||
|
||||
std::string source;
|
||||
bool show = true, json_out = false, simulate = false, gimbal_test = false;
|
||||
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (std::strcmp(argv[i], "--no-show") == 0) show = false;
|
||||
else if (std::strcmp(argv[i], "--json") == 0) json_out = true;
|
||||
else if (std::strcmp(argv[i], "--simulate") == 0) simulate = true;
|
||||
else if (std::strcmp(argv[i], "--gimbal-test") == 0) gimbal_test = true;
|
||||
else if (std::strcmp(argv[i], "--help") == 0) { print_usage(argv[0]); return 0; }
|
||||
else if (source.empty()) source = argv[i];
|
||||
}
|
||||
|
||||
if (!gimbal_test && source.empty()) { print_usage(argv[0]); return 1; }
|
||||
|
||||
// 云台测试
|
||||
if (gimbal_test) {
|
||||
FusionConfig cfg;
|
||||
GimbalController gimbal(cfg);
|
||||
std::cout << "连接 AT10 吊舱...\n";
|
||||
if (!gimbal.connect()) {
|
||||
std::cerr << "连接失败\n";
|
||||
return 1;
|
||||
}
|
||||
std::cout << "已连接, 测试控制...\n";
|
||||
|
||||
// 切换到红外白热
|
||||
gimbal.setFrameType(GimbalImageType::IR_WHITEHOT);
|
||||
// 俯视 45 度
|
||||
gimbal.setDownwardAngle(45.0);
|
||||
// 追踪偏移
|
||||
gimbal.trackTarget(0.3, -0.2);
|
||||
// 拍照
|
||||
gimbal.takePhoto();
|
||||
|
||||
std::cout << "测试完成\n";
|
||||
gimbal.disconnect();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 图像处理
|
||||
cv::Mat img = cv::imread(source, cv::IMREAD_COLOR);
|
||||
if (img.empty()) img = cv::imread(source, cv::IMREAD_GRAYSCALE);
|
||||
if (img.empty()) {
|
||||
std::cerr << "无法读取: " << source << "\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
// 热成像检测 (直接 C++ 调用, 无 subprocess)
|
||||
ThermalBridge bridge;
|
||||
|
||||
auto t0 = std::chrono::high_resolution_clock::now();
|
||||
auto entry = bridge.process(img);
|
||||
auto t1 = std::chrono::high_resolution_clock::now();
|
||||
double ms = std::chrono::duration<double, std::milli>(t1 - t0).count();
|
||||
|
||||
// 输出
|
||||
if (json_out) {
|
||||
std::cout << "{\n";
|
||||
std::cout << " \"detection_count\": " << entry.detections.size() << ",\n";
|
||||
std::cout << " \"ambient_temp\": " << entry.ambient_temp << ",\n";
|
||||
std::cout << " \"time_ms\": " << ms << ",\n";
|
||||
std::cout << " \"detections\": [\n";
|
||||
for (size_t i = 0; i < entry.detections.size(); i++) {
|
||||
auto& d = entry.detections[i];
|
||||
std::cout << " {\"type\":\"" << d.type
|
||||
<< "\", \"confidence\":" << d.confidence
|
||||
<< ", \"max_temp\":" << d.max_temp
|
||||
<< ", \"bbox\":{\"x\":" << d.bbox_x
|
||||
<< ",\"y\":" << d.bbox_y
|
||||
<< ",\"w\":" << d.bbox_w
|
||||
<< ",\"h\":" << d.bbox_h << "}}";
|
||||
if (i + 1 < entry.detections.size()) std::cout << ",";
|
||||
std::cout << "\n";
|
||||
}
|
||||
std::cout << " ]\n}\n";
|
||||
} else {
|
||||
std::cout << "========================================\n";
|
||||
std::cout << " Image: " << source << "\n";
|
||||
std::cout << " Time: " << ms << " ms\n";
|
||||
std::cout << " Ambient: " << entry.ambient_temp << " C\n";
|
||||
std::cout << " Detections: " << entry.detections.size() << "\n";
|
||||
for (auto& d : entry.detections) {
|
||||
std::cout << " [" << d.type << "] conf:" << (int)(d.confidence * 100)
|
||||
<< "% temp:" << d.max_temp << "C area:" << d.bbox_w * d.bbox_h << "\n";
|
||||
}
|
||||
std::cout << "========================================\n";
|
||||
}
|
||||
|
||||
// 模拟融合
|
||||
if (simulate && !entry.detections.empty()) {
|
||||
simulate_fusion(entry, FusionConfig{}, 0.0, img.cols);
|
||||
}
|
||||
|
||||
// 可视化 (复用 thermal_detector 的绘制)
|
||||
ThermalPreprocessor preprocessor;
|
||||
ThermalDetector detector;
|
||||
auto preprocessed = preprocessor.preprocess(img);
|
||||
auto assessment = detector.detect(preprocessed);
|
||||
cv::Mat vis = ThermalDetector::draw_detections(img, assessment);
|
||||
|
||||
// 在可视化图上叠加融合信息
|
||||
if (simulate && !entry.detections.empty()) {
|
||||
ThreatCache cache_vis;
|
||||
cache_vis.add_thermal(entry);
|
||||
FusionEngine engine_vis(cache_vis, FusionConfig{});
|
||||
auto threats = engine_vis.fuse(get_time(), 0.0, img.cols);
|
||||
|
||||
int y_off = 30;
|
||||
for (auto& t : threats) {
|
||||
std::string text = std::string("[") + FusionThreatLevelInfo::label(t.level)
|
||||
+ "] " + t.description;
|
||||
cv::putText(vis, text, {10, y_off}, cv::FONT_HERSHEY_SIMPLEX, 0.5,
|
||||
{0, 0, 255}, 1);
|
||||
y_off += 20;
|
||||
}
|
||||
}
|
||||
|
||||
std::string out_path = get_output_path(source);
|
||||
cv::imwrite(out_path, vis);
|
||||
if (!json_out) std::cout << " Saved: " << out_path << "\n";
|
||||
|
||||
if (show) {
|
||||
cv::imshow("Fusion Detection", vis);
|
||||
cv::waitKey(0);
|
||||
cv::destroyAllWindows();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else // USE_ROS
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
ros::init(argc, argv, "threat_fusion_node");
|
||||
ThreatFusionNode node;
|
||||
node.run();
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif // USE_ROS
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
{
|
||||
"params": {
|
||||
"confidence_threshold": 0.5
|
||||
},
|
||||
"metrics": {
|
||||
"f1": 0.13793103448275862,
|
||||
"precision": 0.09900990099009901,
|
||||
"recall": 0.22727272727272727,
|
||||
"tp": 10,
|
||||
"fp": 91,
|
||||
"fn": 34
|
||||
},
|
||||
"note": "由 auto_tune.py 自动优化生成,需手动更新到 cpp/include/thermal_types.h"
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(thermal_detector LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs highgui videoio)
|
||||
|
||||
add_executable(thermal_detector
|
||||
src/main.cpp
|
||||
src/thermal_preprocessor.cpp
|
||||
src/thermal_detector.cpp
|
||||
)
|
||||
|
||||
target_include_directories(thermal_detector PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
${OpenCV_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
target_link_libraries(thermal_detector PRIVATE
|
||||
${OpenCV_LIBS}
|
||||
)
|
||||
|
||||
target_compile_options(thermal_detector PRIVATE /utf-8 /EHsc)
|
||||
|
||||
# Windows: 输出到项目根目录方便测试
|
||||
set_target_properties(thermal_detector PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}"
|
||||
)
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\热成像识别\cpp\CMakeLists.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,314 @@
|
||||
# This is the CMakeCache file.
|
||||
# For build in directory: d:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/热成像识别/cpp/build
|
||||
# It was generated by CMake: C:/Users/29578/.conda/envs/opencv-build/Library/bin/cmake.exe
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/lib.exe
|
||||
|
||||
//Semicolon separated list of supported configuration types, only
|
||||
// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything
|
||||
// else will be ignored.
|
||||
CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /GR /EHsc
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG
|
||||
|
||||
//Libraries linked by default with all C++ applications.
|
||||
CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Value Computed by CMake.
|
||||
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/热成像识别/cpp/build/CMakeFiles/pkgRedirects
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/thermal_detector
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/link.exe
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MT:FILEPATH=CMAKE_MT-NOTFOUND
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_PREFIX_PATH:UNINITIALIZED=C:/Users/29578/.conda/envs/opencv-build/Library
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_COMPAT_VERSION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=thermal_detector
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_SPDX_LICENSE:STATIC=
|
||||
|
||||
//RC compiler
|
||||
CMAKE_RC_COMPILER:FILEPATH=rc
|
||||
|
||||
//Flags for Windows Resource Compiler during all build types.
|
||||
CMAKE_RC_FLAGS:STRING=-DWIN32
|
||||
|
||||
//Flags for Windows Resource Compiler during DEBUG builds.
|
||||
CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG
|
||||
|
||||
//Flags for Windows Resource Compiler during MINSIZEREL builds.
|
||||
CMAKE_RC_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags for Windows Resource Compiler during RELEASE builds.
|
||||
CMAKE_RC_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the archiver during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//The directory containing a CMake configuration file for OpenCV.
|
||||
OpenCV_DIR:PATH=C:/Users/29578/.conda/envs/opencv-build/Library/cmake
|
||||
|
||||
//Value Computed by CMake
|
||||
thermal_detector_BINARY_DIR:STATIC=D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/热成像识别/cpp/build
|
||||
|
||||
//Value Computed by CMake
|
||||
thermal_detector_IS_TOP_LEVEL:STATIC=ON
|
||||
|
||||
//Value Computed by CMake
|
||||
thermal_detector_SOURCE_DIR:STATIC=D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/热成像识别/cpp
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=d:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/热成像识别/cpp/build
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=3
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=C:/Users/29578/.conda/envs/opencv-build/Library/bin/cmake.exe
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=C:/Users/29578/.conda/envs/opencv-build/Library/bin/cpack.exe
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=C:/Users/29578/.conda/envs/opencv-build/Library/bin/ctest.exe
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
|
||||
CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Visual Studio 17 2022
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=D:/vs
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=D:/29578/Documents/Study/computer/S_E/软件体系结构与设计/软件开发/热成像识别/cpp
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//Name of CMakeLists files to read
|
||||
CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MT
|
||||
CMAKE_MT-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//noop for ranlib
|
||||
CMAKE_RANLIB:INTERNAL=:
|
||||
//ADVANCED property for variable: CMAKE_RC_COMPILER
|
||||
CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
|
||||
CMAKE_RC_COMPILER_WORKS:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS
|
||||
CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
|
||||
CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
|
||||
CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
|
||||
CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=C:/Users/29578/.conda/envs/opencv-build/Library/share/cmake-4.3
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Details about finding OpenCV
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_OpenCV:INTERNAL=[C:/Users/29578/.conda/envs/opencv-build/Library][found components: core imgproc imgcodecs highgui videoio ][v4.13.0()]
|
||||
|
||||
@ -0,0 +1,102 @@
|
||||
set(CMAKE_CXX_COMPILER "D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/cl.exe")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "MSVC")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "19.43.34808.0")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
|
||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "OFF")
|
||||
set(CMAKE_CXX_STANDARD_LATEST "23")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
|
||||
set(CMAKE_CXX26_COMPILE_FEATURES "")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Windows")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "MSVC")
|
||||
set(CMAKE_CXX_COMPILER_APPLE_SYSROOT "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID "x64")
|
||||
|
||||
set(MSVC_CXX_ARCHITECTURE_ID x64)
|
||||
|
||||
|
||||
set(CMAKE_AR "D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/lib.exe")
|
||||
set(CMAKE_CXX_COMPILER_AR "")
|
||||
set(CMAKE_RANLIB ":")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "")
|
||||
set(CMAKE_LINKER "D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/link.exe")
|
||||
set(CMAKE_LINKER_LINK "D:/vs/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/link.exe")
|
||||
set(CMAKE_LINKER_LLD "lld-link")
|
||||
set(CMAKE_CXX_COMPILER_LINKER "D:/vs/VC/Tools/MSVC/14.43.34808/bin/HostX64/x64/link.exe")
|
||||
set(CMAKE_CXX_COMPILER_LINKER_ID "MSVC")
|
||||
set(CMAKE_CXX_COMPILER_LINKER_VERSION 14.43.34808.0)
|
||||
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT MSVC)
|
||||
set(CMAKE_MT "CMAKE_MT-NOTFOUND")
|
||||
set(CMAKE_TAPI "")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX )
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang IN ITEMS C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED )
|
||||
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED )
|
||||
set(CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED )
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "")
|
||||
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||
set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_IMPORT_STD "")
|
||||
set(CMAKE_CXX_COMPILER_IMPORT_STD_ERROR_MESSAGE "Unsupported generator: Visual Studio 17 2022")
|
||||
set(CMAKE_CXX_STDLIB_MODULES_JSON "")
|
||||
Binary file not shown.
@ -0,0 +1,6 @@
|
||||
set(CMAKE_RC_COMPILER "rc")
|
||||
set(CMAKE_RC_COMPILER_ARG1 "")
|
||||
set(CMAKE_RC_COMPILER_LOADED 1)
|
||||
set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC)
|
||||
set(CMAKE_RC_OUTPUT_EXTENSION .res)
|
||||
set(CMAKE_RC_COMPILER_ENV_VAR "RC")
|
||||
@ -0,0 +1,15 @@
|
||||
set(CMAKE_HOST_SYSTEM "Windows-10.0.26200")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Windows")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "10.0.26200")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Windows-10.0.26200")
|
||||
set(CMAKE_SYSTEM_NAME "Windows")
|
||||
set(CMAKE_SYSTEM_VERSION "10.0.26200")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "AMD64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
||||
@ -0,0 +1,949 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__cray__)
|
||||
# define COMPILER_ID "CrayClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
# define COMPILER_ID "Tasking"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
||||
|
||||
#elif defined(__ORANGEC__)
|
||||
# define COMPILER_ID "OrangeC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
||||
|
||||
#elif defined(__RENESAS__)
|
||||
# define COMPILER_ID "Renesas"
|
||||
/* __RENESAS_VERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF)
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__) && defined(__ti__)
|
||||
# define COMPILER_ID "TIClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(_ADI_COMPILER)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VERSIONNUM__)
|
||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__DCC__) && defined(_DIAB_TOOL)
|
||||
# define COMPILER_ID "Diab"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__)
|
||||
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
# elif defined(_ADI_COMPILER)
|
||||
# define PLATFORM_ID "ADSP"
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__ti__)
|
||||
# if defined(__ARM_ARCH)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
# elif defined(__ADSPSHARC__)
|
||||
# define ARCHITECTURE_ID "SHARC"
|
||||
|
||||
# elif defined(__ADSPBLACKFIN__)
|
||||
# define ARCHITECTURE_ID "Blackfin"
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
|
||||
# if defined(__CTC__) || defined(__CPTC__)
|
||||
# define ARCHITECTURE_ID "TriCore"
|
||||
|
||||
# elif defined(__CMCS__)
|
||||
# define ARCHITECTURE_ID "MCS"
|
||||
|
||||
# elif defined(__CARM__) || defined(__CPARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__CARC__)
|
||||
# define ARCHITECTURE_ID "ARC"
|
||||
|
||||
# elif defined(__C51__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__CPCP__)
|
||||
# define ARCHITECTURE_ID "PCP"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__RENESAS__)
|
||||
# if defined(__CCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__CCRL__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__CCRH__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#define CXX_STD_98 199711L
|
||||
#define CXX_STD_11 201103L
|
||||
#define CXX_STD_14 201402L
|
||||
#define CXX_STD_17 201703L
|
||||
#define CXX_STD_20 202002L
|
||||
#define CXX_STD_23 202302L
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG)
|
||||
# if _MSVC_LANG > CXX_STD_17
|
||||
# define CXX_STD _MSVC_LANG
|
||||
# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
|
||||
# define CXX_STD CXX_STD_20
|
||||
# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17
|
||||
# define CXX_STD CXX_STD_20
|
||||
# elif _MSVC_LANG > CXX_STD_14
|
||||
# define CXX_STD CXX_STD_17
|
||||
# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# elif defined(__INTEL_CXX11_MODE__)
|
||||
# define CXX_STD CXX_STD_11
|
||||
# else
|
||||
# define CXX_STD CXX_STD_98
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# if _MSVC_LANG > __cplusplus
|
||||
# define CXX_STD _MSVC_LANG
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif defined(__NVCOMPILER)
|
||||
# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
|
||||
# define CXX_STD CXX_STD_20
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif defined(__INTEL_COMPILER) || defined(__PGI)
|
||||
# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes)
|
||||
# define CXX_STD CXX_STD_17
|
||||
# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__)
|
||||
# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define CXX_STD CXX_STD_11
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_standard_default = "INFO" ":" "standard_default["
|
||||
#if CXX_STD > CXX_STD_23
|
||||
"26"
|
||||
#elif CXX_STD > CXX_STD_20
|
||||
"23"
|
||||
#elif CXX_STD > CXX_STD_17
|
||||
"20"
|
||||
#elif CXX_STD > CXX_STD_14
|
||||
"17"
|
||||
#elif CXX_STD > CXX_STD_11
|
||||
"14"
|
||||
#elif CXX_STD >= CXX_STD_11
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
Binary file not shown.
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{CAE07175-D007-4FC3-BFE8-47B392814159}</ProjectGuid>
|
||||
<RootNamespace>CompilerIdCXX</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
|
||||
|
||||
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
|
||||
|
||||
|
||||
|
||||
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary Condition="'$(ApplicationType)'!='Android'">MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
|
||||
<Link>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>for %%i in (cl.exe) do %40echo CMAKE_CXX_COMPILER=%%~$PATH:i</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CMakeCXXCompilerId.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\29578\Documents\Study\computer\S_E\软件体系结构与设计\软件开发\热成像识别\cpp\build\CMakeFiles\4.3.2\CompilerIdCXX\CompilerIdCXX.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue