gcc編譯呼叫opencv庫函式遇到的問題總結

2021-06-14 17:11:36 字數 797 閱讀 5731

1.  `patchgenerator' in namespace `cv' does not name a type. 或者 error c2039: 「patchgenerator」: 不是「cv」的成員

解決:#include

2. error: extra qualification 『tld::』 on member 『processframe』

錯誤的原因是: 在類的定義中寫了void tld::processframe(); 在類中應該寫 void processframe();才對. 都是很基本的錯誤.

3.gcc編譯呼叫了opencv庫函式的**: 生成庫,在庫介面函式中,不用__declspec(dllexport)修飾,這一點與vs不同

g++ `pkg-config --cflags --libs opencv` tld_utils.cpp extracktarget.cpp tld.cpp fernnclassifier.cpp lktracker.cpp tracker.cpp -fpic -shared -o libtld.so -i. -l.

4. c/c++中巨集判斷作業系統和編譯器:

c++:編寫跨平台程式的關鍵,c/c++中的內建巨集定義,分兩部分:

①作業系統判定:

windows:   win32

linux:   linux

solaris:   __sun

②編譯器判定:

vc:  _msc_ver

gcc/g++:   __gnuc__

suncc:   __sunpro_c和__sunpro_cc

採用gcc編譯opencv程式

那麼採用gcc g 手動編譯程式也是相當容易的。在系統安裝了opencv的情況下 opencv2.4,預設安裝,安裝在usr local lib usr local include 採用下面的命令編譯 g o test test.cpp i usr local include i usr local...

gcc編譯C檔案,生成呼叫靜態庫

檔案結構為 include blaswrap.h clapack.h f2c.h hello.h add h lib blas linux.a lapack linux.a libf2c.a src hello.c add c test.c其中 test.c 呼叫hello.c 和add.c add...

使用GCC和CMake編譯OpenCV

注意 此教程認為你已經成功的在你的工作平台上安裝了opencv。來看乙個簡單的程式例如displayimage.cpp如下 include include using namespace cv int main int argc,char argv mat image image imread ar...