【发布时间】:2016-11-04 11:53:10
【问题描述】:
我尝试在 OS X 上的 Qt 项目中使用 dlib。所以,在这次尝试中,我做了以下操作:
在 dlib 根目录中:
cd examples
mkdir build
cd build
cmake ..
cmake --build . --config Release
在 dlib 根目录中:
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/Users/user/dlib_build
cmake --build . --config Release --target install
.pro 文件:
INCLUDEPATH += /Users/user/dlib_build/include
LIBS += -L/Users/user/dlib_build/lib
LIBS += -ldlib
main.cpp:
//...
frontal_face_detector detector = get_frontal_face_detector();
//...
编译输出:
Undefined symbols for architecture x86_64:
"_dgesvd_", referenced from:
dlib::lapack::binding::gesvd(char, char, int, int, double*, int, double*, double*, int, double*, int, double*, int) in main.o
ld: symbol(s) not found for architecture x86_64
如何解决这个问题并在 OS X 上将 dlib 与 Qt 一起使用?
【问题讨论】:
-
此时可能没有用,但我最近遇到了同样的错误,在 dlib 上使用
otool -L指出它使用的 LAPACK 库来自libBLAS.dylib和ibLAPACK.dylib部分OSX 上的Accelerate框架。只要您还链接到此框架,该项目就应该编译。 -
添加 Accelerate 框架对我有用。
标签: dlib