Raf
Raf

Reputation: 708

What to do next after building wxWidgets successfully : Visual Studio 2010

I have downloaded c++ open source application which was created using under Linux IDE/Editor (or maybe something NOT Windows) and its no longer supported.

This time I want to edit and recompile it using VS 2010.

Error(s) left (mostly prefixed with "wx") such as:

etc... makes me think that this is all about wxWidgets.

After successfully building wxWidgets, what to do next to integrate it to the actual c++ program for me to be able to edit and compile using VS 2010?

I use BorlandC++ last 2 years ago but not familiar with GUI packages.

Upvotes: 0

Views: 2220

Answers (4)

Sarju
Sarju

Reputation: 183

May be I am little bit late , But this will help newcomers to wxwidgets.

First of all Goto Wxwidgets directory(to download path) in my case it is "C:\Users\WxWidgets_all". Now in that folder goto build directory.Now open Visual Studio Command prompt. If you have already installed Visual Studio then you can easily find it through start menu. Now in command prompt go upto <Path to your wxWidgets>/build/msw/ . Now run Following Commands.

nmake /f makefile.vc--For Static Library and Debug Version
nmake /f makefile.vc SHARED=1--For SHARED Library and Debug Version
nmake /f makefile.vc BUILD=release--For SHARED Library and Release Version

After completing it , you will have dll or lib in "<path to wxwidgets>\lib\" depending on option provided in above commands.

Now include all files related to wxwidgets in your project.Mainly two paths are required to include "<path to wxwidgets>\inlcude\" and "<path to wxwidgets>\lib\vc_<lib\dll>".

After that link your wxwidgets generated library to your project.To do this inlcude "<path to wxwidgets>\lib\vc_<lib\dll>" to your project property in library section.

Now add below preprocessors to your project.

_WINDOWS
NDEBUG(For Release)
_DEBUG(For Debug)
_CRT_SECURE_NO_DEPRECATE=1
_CRT_NON_CONFORMING_SWPRINTFS=1
_SCL_SECURE_NO_WARNINGS=1
__WXMSW__
_UNICODE

After that add following library to your project from "<path to wxwidgets>\lib\vc_<lib\dll>"

wxbase30u_net
wxmsw30u_core
wxbase30u
wxtiff
wxjpeg
wxpng
wxzlib
wxregexu
wxexpat
wxmsw30u_adv

Based on your compiled options , library name can be little bit different.

I think I have covered all the steps to run wxWidgets.

Even if you got errors , You can check minimal project in "<path to wxwidgets>\samples" directory. Try to run that project , and even if you got error then your wxwidgets is not built properly.

Hope this will help.

Upvotes: 1

random_user
random_user

Reputation: 848

Maybe the errors are caused because you are using wxwidget 2.8 which is unsupported in VS 2010.

Try building wxwidgets 2.9 or use VS 2008. I had no problem building wxwidgets 2.9 on VS 2010.

Wxwidgets site home says "While this is still officially a development release because some API details are still not frozen, we believe that 2.9.3 can be used in production environment".

About what to do after successfully build it, take a look at this http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide

You may want to use the tutorial of the section "Creating a new project from a sample" 'cause creating a project by hand is a little bit complicated as wxwidgets requires some extra configuration and not just to set and include and libs dir as most of the libs does.

Upvotes: 2

ravenspoint
ravenspoint

Reputation: 20457

The first step is to tell the compiler where to look for the wxWidgets include files.

So, you need to find out where these files are, which depends on where you installed and built wxWidgets.

On my system, this is C:\Program Files (x86)\wxWidgets-2.8.12

I consider the best way is to, instead of hard-coding the path in every project, create an environment variable WXROOT to store the path to your wxWidgets folder.

Control Panel | System | Advanced | Environment variables

Now you have to tell the compiler about this

Visual Studio | Project | Properties | C/C++ | Additional Include Directories

What you add here depends on what kind of build you are doing. If you are doing a unicode release build, then this will be a good start

"$(WXROOT)\lib\vc_lib\mswu";"$(WXROOT)\include"

Now you should have fixed your compiler errors.

Next you will get some linker errors ....

Upvotes: 2

T-Rex
T-Rex

Reputation: 860

Here is a video which shows how to start with Visual Studio. Also you can take a look at samples directory and create your own project based on configuration of projects from that directory.

Upvotes: 1

Related Questions