2017-02-10 129 views
0

我試圖運行由dlib提供的人臉檢測示例。我已經設置了我的庫目錄和我的包含文件夾。我已經將source.cpp包含在項目中,並且還將externals文件夾中的文件添加到項目中。當我運行該程序時,它表示通過定義jpeg支持來啓用jpeg支持,這是我所做的,但它不會編譯並提供2個有關未解析外部的類似錯誤。DLIB在visual studio 2015上拋出一個無法解析的外部錯誤

解析的外部符號 「公用:__thiscall DLIB :: jpeg_loader :: jpeg_loader(類的std :: basic_string的,一流的std ::分配器>常量&)」?(?? 0jpeg_loader @ DLIB @@ QAE @ $ ABV在函數「void __cdecl dlib :: load_jpeg>>(class dlib :: array2d> &,class)中引用了basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@@ Z) std :: basic_string,class std :: allocator> const &)「(?? $ load_jpeg @ V?$ array2d @ EV?$ memory_manager_stateless_kernel_1 @ D @ dlib @@@ dlib @@@ dlib @@ YAXAAV?$ array2d @ EV ?$ memory_manager_stateless_kernel_1 @ D @ dlib @@@ 0 @ ABV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@@ Z)DLIB模板

這是我的代碼首部:使用命名空間DLIB

#define DLIB_JPEG_SUPPORT 
#include <dlib/image_processing/frontal_face_detector.h> 
#include <dlib/gui_widgets.h> 
#include <dlib/image_io.h> 
#include <iostream> 

; using namespace std;

回答

1

您必須爲所有的.cpp文件定義DLIB_JPEG_SUPPORT,而不只是其中的一個。在項目中將其設置爲編譯器設置,而不是在一個文件中寫入#define。

+0

通過編譯器設置你的意思是預處理器的參數?我把它設置爲預處理器。 – user2426860

+0

這就是我的意思。顯然這不是你所做的。 –

+0

真的,你應該使用cmake –

相關問題