求打赏求打赏,,,
环境
首先确定opencv库、torch-release库、torch-debug库的放置路径
D:\lib\opencv
D:\lib\libtorch-win-shared-with-deps-1.9.0+cpu\libtorch
D:\lib\libtorch-win-shared-with-deps-debug-1.9.0+cpu\libtorch
配置
项目.pro中加入.pri文件,内容如下:
include(xxx.pri)
.pri文件,内容如下:
################################ opencv ################################
INCLUDEPATH += \
D:\lib\opencv\build\include\opencv2\
D:\lib\opencv\build\include\opencv\
D:\lib\opencv\build\include
CONFIG(debug,debug|release){
LIBS += D:\lib\opencv\build\x64\vc15\lib\opencv_world452d.lib
}
else{
LIBS += D:\lib\opencv\build\x64\vc15\lib\opencv_world452.lib
}
################################ libtorch ################################
INCLUDEPATH+=D:\lib\libtorch-win-shared-with-deps-1.9.0+cpu\libtorch\include
INCLUDEPATH+=D:\lib\libtorch-win-shared-with-deps-1.9.0+cpu\libtorch\include\torch\csrc\api\include
CONFIG(debug,debug|release){
LIBS += -LD:\lib\libtorch-win-shared-with-deps-debug-1.9.0+cpu\libtorch\lib \
-lasmjit \
-lc10 \
-lcaffe2_module_test_dynamic \
-lfbjni \
-ltorch \
-ltorch_cpu \
-lclog -lcpuinfo\
-ldnnl -lfbgemm\
-lmkldnn\
#-lcaffe2_detectron_ops \
#-lCaffe2_perfkernels_avx \
#-lCaffe2_perfkernels_avx2 \
#-lCaffe2_perfkernels_avx512 \
#-lkineto \
#-lmkldnn \
#-lpthreadpool \
#-lpytorch_jni \
#-lXNNPACK \
#####这几个lib开头的lib无法打开,也不知道为什么#############################
#-llibprotobufd \
#-llibprotobuf-lited \
#-llibprotocd \
}
else{
LIBS += -LD:\lib\libtorch-win-shared-with-deps-1.9.0+cpu\libtorch\lib \
-lc10 \
-lasmjit \
-lcaffe2_module_test_dynamic \
-ltorch \
-ltorch_cpu \
-lclog -lcpuinfo\
-ldnnl -lfbgemm\
-lmkldnn \
-lfbjni \
#-lcaffe2_detectron_ops \
#-lCaffe2_perfkernels_avx \
#-lCaffe2_perfkernels_avx2 \
#-lCaffe2_perfkernels_avx512 \
#-lkineto \
#-lmkldnn \
#-lpthreadpool \
#-lpytorch_jni \
#-lXNNPACK \
#####这几个lib开头的lib无法打开,也不知道为什么#############################
#-llibprotobufd \
#-llibprotobuf-lited \
#-llibprotocd \
}
################################ other ################################
报错解决
在配置libtorch的时候可能会有如下报错:
解决方案:
注释掉这三行 IValue.h中的
torch/script.h 的导入前要解除宏 slots
#undef slots
#include "torch/script.h"
#define slots Q_SLOTS
虽然解决了报错,可以编译了,但是还是不能运行!!!