Ask Your Question

include comctl32.lib? using static libs.

asked 2013-04-02 04:03:59 -0600

mrgloom gravatar image

updated 2013-04-02 04:08:04 -0600

I'm using prebuild OpenCV-2.4.3

VS2008 win32 console app->Empty Project no precompiled headers.

include headers C:\OpenCV-2.4.3\build\include

include libs all d libs from C:\OpenCV-2.4.3\build\x86\vc9\staticlib use /MTd

and it fails to compile

opencv_highgui243d.lib(window_w32.obj) : error LNK2019: unresolved external symbol __imp__CreateToolbarEx@52 referenced in function "int __cdecl icvCreateTrackbar(char const ,char const *,int *,int,void (__cdecl)(int),void (__cdecl*)(int,void *),void *)" (?icvCreateTrackbar@@YAHPBD0PAHHP6AXH@ZP6AXHPAX@Z3@Z)

If I include comctl32.lib all ok, but I get a lot of warning about *.pdb files like

warning LNK4099: PDB 'opencv_core243d.pdb' was not found with

Do I need to include comctl32.lib?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2013-04-02 04:35:17 -0600

The warnings are completely normal. They indicate that there are no debug files for prebuilt libraries. This is because the libs where not built on your target system. Just ignore them if your code works fine besides it.

If you want them gone, build openCV yourself on your system.

edit flag offensive delete link more


but why I need comctl32.lib when using static lib?

mrgloom gravatar imagemrgloom ( 2013-04-02 07:34:50 -0600 )edit

basically, that library is not an openCV library. I am guessing, since the error comes from a trackbar element, that it corresponds to your GUI interface software. It is actually a 'Windows Common Controls Library - comctl32.dll' (look at so basically this is not an OpenCV problem.

StevenPuttemans gravatar imageStevenPuttemans ( 2013-04-02 07:39:02 -0600 )edit

And to answer even more to the question itself. Static openCV libraries only provide the openCV functionality. All other functionality for creating user interfaces is provided by your operating system. I am guessing there is a setting in your project, not linking to the default microsoft libraries.

StevenPuttemans gravatar imageStevenPuttemans ( 2013-04-02 07:40:43 -0600 )edit

Question Tools


Asked: 2013-04-02 04:03:59 -0600

Seen: 1,906 times

Last updated: Apr 02 '13