Question

Hopefully someone can help me out here. I'm using Visual Studio 2005 and creating a static library that links in wxWidgets statically. I have:

  1. compiled wxWidgets statically according to their guide
  2. included the lib directory in my "Additional Library Directories" property
  3. added all of the wxWidget libs in my "Additional Dependencies" property
  4. set my "Link Library Dependencies" property to "Yes"
  5. set C++ Optimization to Disabled.

I know that some of those steps shouldn't have to be done, I did so on a "just in case" rational.

While my library compiles without a hitch, the test application that includes my static lib complains during linking that it cannot find 'wxbase28.lib' (which I included).

I should note that I abstracted wxWidgets out completely, so the library's public API has no mention of anything wxWidget-related. The test app shouldn't know that wxWidgets exists.

My tiny library has grown to over 51 MB, so I get the feeling that the libraries are being linked in... so why does my test application complain that it cannot find the wxWidgets library?

Thank you

Was it helpful?

Solution

It is the link step in the build process that pulls dependent libs in : When you build a static library, it does NOT pull in any recursive dependencies as there is no link step.

So both - your - and wx's - static libs need to be present then for the final application to link.

OTHER TIPS

I hate to suggest the obvious, but is wxbase28.lib listed in the list of dependencies of your test application?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top