How to statically link applications to wxWidgets via Visual Studio 2008 and in Linux
MS Windows Procedure:
Build the wxWidgets as static
Build the application to link with wxWidgets as static
4. Change the “Runtime Library” property value into “Multi-threaded (/MT)”
5. “Additional Library Directories” property value into “"$(WXWIN)\lib\vc_lib"”
6. “Additional Dependencies” property value into:
6. Rebuild your application and execute without any wxWidgets runtime DLLs installed
SUSE Linux Procedure:
Build the wxWidgets as static
1. Uncompressed the source file “wxWidgets-2.8.12.tar.gz”
2. Go to “..\wxWidgets-2.8.12\build
3. Create new folder by issuing command in xterm "mkdir new_build"
4. Go inside the "new_build" folder by issuing command in xterm "cd new_build"
5. Issue command in xterm "../configure --disable-shared --enable-monolithic"
6. Issue the command in xterm "make"
7. Issue the command in xterm "make install". The libraries are installed in "/usr/local/lib"
8. Issue the command in xterm "ldconfig"
Build the application to link with wxWidgets as static
1. In the folder where your source files are located (*.cpp, *.h) issue the command
in xterm "g++ *.cpp `wx-config --libs --cxxflags` -o MyApp"
2. At this time your executable file "MyApp" is created. You can now run this file without needing to install
SO of wxWidgets.
That's it! =)
Build the wxWidgets as static
- Uncompressed the source file “wxWidgets-2.8.12.tar.gz”
- Go to “..\wxWidgets-2.8.12\build\msw”
- Right-click and open the file “wx.dsw” using Visual Studio 2008
- Change the “Runtime Library” property value into “Multi-threaded (/MT)”
- Rebuild the solution as “Release” mode
- The libraries can be found in “..\wxWidgets-2.8.12\lib\vc_lib”
Build the application to link with wxWidgets as static
- Add environment variable (for convinience) WXWIN and set the value to wherever your wxWidgets is located. Sample: c:\wxWidgets
- Open your application in Visual Studio 2008 and switch the mode to “Release”
- “Preprocessor
Definitions” must be set to:
WIN32__WXMSW___WINDOWSNOPCH_CRT_NONSTDC_NO_DEPRECATE
4. Change the “Runtime Library” property value into “Multi-threaded (/MT)”
5. “Additional Library Directories” property value into “"$(WXWIN)\lib\vc_lib"”
6. “Additional Dependencies” property value into:
"$(WXWIN)\lib\vc_lib\wxbase28.lib"
"$(WXWIN)\lib\vc_lib\wxmsw28_adv.lib"
"$(WXWIN)\lib\vc_lib\wxmsw28_core.lib"
"$(WXWIN)\lib\vc_lib\wxmsw28_aui.lib"
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
odbc32.lib 6. Rebuild your application and execute without any wxWidgets runtime DLLs installed
SUSE Linux Procedure:
Build the wxWidgets as static
1. Uncompressed the source file “wxWidgets-2.8.12.tar.gz”
2. Go to “..\wxWidgets-2.8.12\build
3. Create new folder by issuing command in xterm "mkdir new_build"
4. Go inside the "new_build" folder by issuing command in xterm "cd new_build"
5. Issue command in xterm "../configure --disable-shared --enable-monolithic"
6. Issue the command in xterm "make"
7. Issue the command in xterm "make install". The libraries are installed in "/usr/local/lib"
8. Issue the command in xterm "ldconfig"
Build the application to link with wxWidgets as static
1. In the folder where your source files are located (*.cpp, *.h) issue the command
in xterm "g++ *.cpp `wx-config --libs --cxxflags` -o MyApp"
2. At this time your executable file "MyApp" is created. You can now run this file without needing to install
SO of wxWidgets.
That's it! =)
Thank you for this very good example! I've been searching for this for sometimes and your example is the best!!
ReplyDelete