Problema de comstackción de OpenCV 2.3 – Reflejo indefinido – Ubuntu 11.10

Gracias de antemano por cualquier ayuda…

Información del sistema: Ubuntu 11.10 (64 bits) con OpenCV 2.3 (instalado hoy)

Estoy tratando de comstackr un código muy simple en OpenCV 2.3 pero estoy obteniendo un error extraño.

#include  #include  int main(){ cv::Mat image=cv::imread("img.jpg"); cv::namedWindow("My Image"); cv::imshow("My Image",image); cv::waitKey(0); return 1; } 

howeverrrrrrrrrrrrr, recibo estos mensajes de error …

 -SG41:~/Desktop$ g++ `pkg-config opencv --cflags --libs` -o test_1 test_1.cpp /tmp/ccCvS1ys.o: In function `main': test_1.cpp:(.text+0x44): undefined reference to `cv::imread(std::basic_string<char, std::char_traits, std::allocator > const&, int)' test_1.cpp:(.text+0x8e): undefined reference to `cv::namedWindow(std::basic_string<char, std::char_traits, std::allocator > const&, int)' test_1.cpp:(.text+0xbc): undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)' test_1.cpp:(.text+0xf0): undefined reference to `cv::imshow(std::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&)' test_1.cpp:(.text+0x112): undefined reference to `cv::waitKey(int)' /tmp/ccCvS1ys.o: In function `cv::Mat::~Mat()': test_1.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x39): undefined reference to `cv::fastFree(void*)' /tmp/ccCvS1ys.o: In function `cv::Mat::release()': test_1.cpp:(.text._ZN2cv3Mat7releaseEv[cv::Mat::release()]+0x47): undefined reference to `cv::Mat::deallocate()' collect2: ld returned 1 exit status 

Supongo que al menos algunas de las bibliotecas en la salida de

 pkg-config opencv --libs 

son bibliotecas de archivos. Es incorrecto colocar las bibliotecas de archivos antes de las fonts que las necesitan ( test_1.cpp en este caso): el orden de las fonts y las bibliotecas en la línea de enlace es importante .

Tratar

 g++ -o test_1 test_1.cpp `pkg-config opencv --cflags --libs` 

Estaba teniendo el mismo problema, pero descubrí que pkg-config opencv –cflags está imprimiendo “-I / usr / include / opencv” en lugar de “-I / usr / include / opencv2” … Tal vez un error del paquete en Ubuntu?

Estoy usando cmake y tuve problemas similares.

Algo extraño está sucediendo con los archivos de configuración de cmake.

Para mí, los problemas se resolvieron simplemente configurando OPENCV_FOUND en TRUE y OpenCV_FOUND en TRUE.

También tuve que configurar OpenCV_DIR a / usr / local / share / OpenCV.

Consulte también Error CMake al configurar opencv

La respuesta de @EmployedRussian funcionó para mí también. Para aquellos que se preguntan cómo especificar este comando en Eclipse, use esta publicación:

https://www.eclipse.org/forums/index.php?t=msg&goto=233377&

En lugar de agregar gtk +, use opencv; En lugar de agregar los nuevos indicadores a ‘Indicadores enlazadores misceláneos’, agregue los nuevos indicadores al final después de $ {ENTRADA} en – Proyecto-> Clic derecho-> Propiedades-> Comstackción C / C ++ -> Configuración-> Vinculador C ++ GCC- > Configuración de experto: patrón de línea de comando