views:

3836

answers:

4

A quick Google search of this issue shows it's common, I just can't for the life of me figure out the solution in my case.

I have a straight forward install of wxWidgets 2.8.8 for Windows straight from the wxWidgets website.

Whenever I try to compile anything (such as the sample app described in "First Programs for wxWidgets" - http://zetcode.com/tutorials/wxwidgetstutorial/firstprograms/ ) I get:

wx/setup.h: No such file or directory

I've included both C:\wxWidgets-2.8.8\include and C:\wxWidgets-2.8.8\include\wx in my compiler search list.

It should be simple - but it's not! :(

The same thing happens if I try to use an IDE integrated with wxWidgets (such as Code::Blocks) - and this, I would have thought, would have just worked out the box...

So, some help please... Why is setup.h not found?

+1  A: 

You probably need to build wxWidgets. There is a post-build step in the wxWidgets build process that copies the appropriate setup.h into C:\wxWidgets_install_dir\include\wx.

eglaser
The setup.h is not supposed to be in the include/wx folder. This would prevent you from using wxWidgets with multiple build configurations; debug, release, etc.The build process actually copies appropriately configured setup.h headers to configuration-specific folders under [WXWIN root]\lib.
kbluck
for example if you are under windows,copy the setup.h from wx/msw to wx.
Jichao
+1  A: 

This Q & A may also contain helpful information.

Onorio Catenacci
+4  A: 

wxWidgets is not built into useable libraries when you "install" the wxMSW installer. This is because there are so many configurable elements, which is precisely what the setup.h you refer to is for.

If you just want to build it with default options as quickly as possible and move on, here is how:

  1. Start the "Visual Studio Command Prompt." You'll find this in the start menu under "Microsoft Visual Studio -> Visual Studio Tools".

  2. Change to folder: [WXWIN root]\build\msw

  3. Build default debug configuration: nmake -f makefile.vc BUILD=debug

  4. Build default release configuration: nmake -f makefile.vc BUILD=release

  5. Make sure the DLLs are in your PATH. They'll be found in [WXWIN root]\lib\vc_dll

  6. Under the DLL folder mentioned above, you will find subfolders for each build variant (The instructions above made two, debug and release.) In each variant folder you'll find a 'wx' folder containing a 'setup.h" file. You'll see that the setup.h files are actually different for each build variant. These are the folders you need to add to your project build configuration include path, one per build variant. So, for example, you'd add [WXWIN root]\lib\vc_dll\mswud to the include path for your debug build, [WXWIN root]\lib\vc_dll\mswu for your release build.

  7. It is possible to build lots of other variant combinations: static libs, monolithic single library, non-Unicode, etc. See [WXWIN root]\docs\msw\install.txt for much more extensive instructions.

kbluck
A: 

@Jichao - worked like a charm. Thanks!

Linda Rawson