binarization.cpp.obj : error LNK2019: 无法解析的外部符号 "double __cdecl cv::threshold(class cv::debug_build_guard::_InputArray const &,class cv::debug_build_guard::_OutputArray const &,double,double,int)" (?threshold@cv@@YANAEBV_InputArray@debug_build_guard@1@AEBV_OutputArray@31@NNH@Z),函数 "public: virtual void __cdecl Binarization::execute(void)" (?execute@Binarization@@UEAAXXZ) 中引用了该符号
binarization.cpp.obj : error LNK2019: 无法解析的外部符号 "void __cdecl cv::cvtColor(class cv::debug_build_guard::_InputArray const &,class cv::debug_build_guard::_OutputArray const &,int,int)" (?cvtColor@cv@@YAXAEBV_InputArray@debug_build_guard@1@AEBV_OutputArray@31@HH@Z),函数 "public: virtual void __cdecl Binarization::execute(void)" (?execute@Binarization@@UEAAXXZ) 中引用了该符号
gaussianblur.cpp.obj : error LNK2019: 无法解析的外部符号 "void __cdecl cv::GaussianBlur(class cv::debug_build_guard::_InputArray const &,class cv::debug_build_guard::_OutputArray const &,class cv::Size_<int>,double,double,int)" (?GaussianBlur@cv@@YAXAEBV_InputArray@debug_build_guard@1@AEBV_OutputArray@31@V?$Size_@H@1@NNH@Z),函数 "public: virtual void __cdecl GaussianBlur::execute(void)" (?execute@GaussianBlur@@UEAAXXZ) 中引用了该符号
CVLine.exe : fatal error LNK1120: 8 个无法解析的外部命令
cmake_minimum_required(VERSION 3.16)
project(CVLine VERSION 1.0 LANGUAGES C CXX)
# 设置OpenCV库的路径
set(OPENCV_PATH "E:/Tmp/QTproject/QGraphicsView/opencv")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Gui)
find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS Widgets)
qt_standard_project_setup()
qt_add_executable(CVLine WIN32 MACOSX_BUNDLE
src/Entity/Relations/LineInfo.h
src/Entity/Relations/NodeInfo.h
src/Entity/Relations/PortInfo.h
src/Entity/Relations/StreamPortinfo.h
src/Graphics//NodeGraphics/Nodes/FunctionNodes/Calculate/Add.cpp
src/Graphics/LineGraphics/beziercurveitem.cpp src/Graphics/LineGraphics/beziercurveitem.h
src/Graphics/Menu/contextmenu.cpp src/Graphics/Menu/contextmenu.h
src/Graphics/Menu/treemenu.cpp src/Graphics/Menu/treemenu.h
src/Graphics/NodeGraphics/Nodes/DataNode/ImageNode.cpp src/Graphics/NodeGraphics/Nodes/DataNode/ImageNode.h
src/Graphics/NodeGraphics/Nodes/DataNode/TextInput/textinput.cpp src/Graphics/NodeGraphics/Nodes/DataNode/TextInput/textinput.h
src/Graphics/NodeGraphics/Nodes/DataNode/datanode.cpp src/Graphics/NodeGraphics/Nodes/DataNode/datanode.h
src/Graphics/NodeGraphics/Nodes/DataNode/varnode.cpp src/Graphics/NodeGraphics/Nodes/DataNode/varnode.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/Add.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/Multiply.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/Multiply.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/Subtract.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/Subtract.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/division.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/division.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/max.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/max.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/min.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/min.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/mod.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Calculate/mod.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Compare/equal.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Compare/equal.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Compare/greater.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Compare/greater.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Compare/less.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Compare/less.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Conversion/convertion.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Conversion/convertion.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/InAndOut/readimage.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/InAndOut/readimage.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/binarization.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/binarization.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/channelmerging.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/channelmerging.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/channelseparation.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/channelseparation.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/gaussianblur.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/gaussianblur.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/getimageinfo.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/getimageinfo.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/imageadjustment.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/imageadjustment.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/imageconversion.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/Image/imageconversion.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/InAndOut/print.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/InAndOut/print.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/LogicOperation/Booleanlogic.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/LogicOperation/Booleanlogic.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/If.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/If.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/Loop/circulateinterface.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/Loop/circulateinterface.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/Loop/loop.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/Loop/loop.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/getter.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/getter.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/setter.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/setter.h
src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/then.cpp src/Graphics/NodeGraphics/Nodes/FunctionNodes/ProgramControl/then.h
src/Graphics/NodeGraphics/Nodes/startnode.cpp src/Graphics/NodeGraphics/Nodes/startnode.h
src/Graphics/NodeGraphics/Port/Port.h
src/Graphics/NodeGraphics/node.cpp src/Graphics/NodeGraphics/node.h
src/Graphics/graphicsview.cpp src/Graphics/graphicsview.h
src/Model/ClockModel/clock.cpp src/Model/ClockModel/clock.h
src/Model/ConnectionModel/NodeManager.cpp src/Model/ConnectionModel/NodeManager.h
src/Model/DebugModel/cvlinedebug.cpp src/Model/DebugModel/cvlinedebug.h
src/Model/FileModel/projectfile.cpp src/Model/FileModel/projectfile.h
src/Utils/ImageConversionUtil.h
src/main.cpp
src/mainwindow.cpp src/mainwindow.h src/mainwindow.ui
)
target_link_libraries(CVLine PRIVATE
Qt::Core
Qt::Gui
)
if((QT_VERSION_MAJOR GREATER 4))
target_link_libraries(CVLine PRIVATE
Qt::Widgets
)
endif()
target_include_directories(CVLine PRIVATE
opencv
opencv/opencv2
opencv/lib
)
if(WIN32 AND CMAKE_CONFIGURATION_TYPES MATCHES "release")
target_link_libraries(CVLine PRIVATE opencv_world480.lib)
endif()
if(WIN32 AND CMAKE_CONFIGURATION_TYPES MATCHES "debug")
target_link_libraries(CVLine PRIVATE opencv_world480d.lib)
endif()
install(TARGETS CVLine
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
qt_generate_deploy_app_script(
TARGET CVLine
FILENAME_VARIABLE deploy_script
NO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${deploy_script})