Marc
Marc

Reputation: 2603

Static library links in wxWidgets statically, but apps using my lib still require wxwidgets

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

Upvotes: 2

Views: 4952

Answers (2)

Chris Becke
Chris Becke

Reputation: 36131

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.

Upvotes: 2

Jim Buck
Jim Buck

Reputation: 20724

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

Upvotes: 0

Related Questions