如何使用wxWidgets构建独立的exe文件?我使用C++和代码块:如何构建独立的exe文件wxWidgets
0
A
回答
1
下面是你需要建立代码::块
http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_3.0.0_to_develop_Code::Blocks_(MSW)
要建立一个单一的静态库与您的程序链接wxWidgets库的说明
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=0 MONOLITHIC=1 BUILD=release UNICODE=1
结果应该与此类似:
Directory of J:\wxWidgets-src-3.0.1\lib\gcc_lib
09/10/2014 12:45 PM <DIR> .
09/10/2014 12:45 PM <DIR> ..
09/10/2014 12:45 PM 202,752 libwxexpat.a
09/10/2014 12:45 PM 151,230 libwxjpeg.a
09/10/2014 12:45 PM 48,398,492 libwxmsw30u.a
09/10/2014 12:45 PM 223,374 libwxmsw30u_gl.a
09/10/2014 12:44 PM 227,850 libwxpng.a
09/10/2014 12:44 PM 81,428 libwxregexu.a
09/10/2014 12:45 PM 2,830,642 libwxscintilla.a
09/10/2014 12:45 PM 454,846 libwxtiff.a
09/10/2014 12:44 PM 86,432 libwxzli
下面是一个最小的wxWidgets的GUI应用程序
#include <wx/wx.h>
#include <wx/app.h>
class cApp : public wxApp
{
public:
virtual bool OnInit();
};
class cFrame: public wxFrame
{
public:
cFrame(wxFrame *frame, const wxString& title)
: wxFrame(frame, -1, title, wxPoint(-1,-1),wxSize(600,600))
{
}
};
IMPLEMENT_APP(cApp);
bool cApp::OnInit()
{
cFrame* frame = new cFrame(0L, _("wx Starter"));
frame->Show();
return true;
}
的源代码保存为starter.cpp
下面是代码::块项目,以建立该应用程序。有三个目标:使用共享库(DLL)的Debug和Release,以及使用静态库的发布版本(全部在一个可执行文件中)。
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="starter" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="bin/starter" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug/" />
<Option type="0" />
<Option compiler="gcc" />
<Compiler>
<Add option="-std=c++11" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="wxbase30u" />
<Add library="wxmsw30u_core" />
<Add directory="$(#wxwidgets.lib)" />
</Linker>
</Target>
<Target title="Release">
<Option output="bin/starter" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="0" />
<Option compiler="gcc" />
<Compiler>
<Add option="-O2" />
</Compiler>
<Linker>
<Add option="-s" />
<Add library="wxbase30u" />
<Add library="wxmsw30u_core" />
<Add directory="$(#wxwidgets.lib)" />
</Linker>
</Target>
<Target title="Static">
<Option output="bin/starter_static" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="0" />
<Option compiler="gcc" />
<Compiler>
<Add option="-O2" />
</Compiler>
<Linker>
<Add option="-s" />
<Add library="wxmsw30u" />
<Add library="wxpng" />
<Add library="wxzlib" />
<Add library="ole32" />
<Add library="Comctl32" />
<Add library="uuid" />
<Add library="OleAut32" />
<Add library="Winspool" />
<Add directory="$(#wxwidgets_static.lib)" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-std=c++11" />
<Add directory="$(#wxwidgets.include)" />
<Add directory="$(#wxwidgets.setup)" />
</Compiler>
<Unit filename="starter.cpp" />
<Extensions>
<code_completion />
<envvars />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>
将其作为starter.cbp保存在同一个文件夹中。当你打开它时,你会被提示设置所需的全局变量,指向你建立库的文件夹。这样做一次,它将适用于所有的项目。
相关问题
- 1. 如何使用python 3.4创建独立的exe文件
- 2. 如何为php独立应用程序创建exe文件?
- 3. 制作独立的EXE文件
- 4. Pyinstaller - 独立.EXE
- 5. 用Cygwin编译独立exe文件
- 6. 独立EXE项目
- 7. 如何让maven构建平台独立?
- 8. TeamCity构建编号独立的工件
- 9. 如何使用Java/Eclipse创建Windows .exe(独立可执行文件)?
- 10. 从sictus prolog pl文件窗口创建一个独立的exe文件
- 11. Qt构建到一个单独的exe文件没有dll
- 12. 构建独立Libtiff(Linux)
- 13. Python 3.5.2 + PyQt5独立EXE
- 14. Python的pyqt与ui文件独立的应用程序和EXE?
- 15. 用GCC构建最小化的独立可执行文件
- 16. 构建独立的Qt Linux可执行文件
- 17. 要包含在mkboundle中以创建debian的独立exe文件的DLL:wheezy
- 18. 如何从独立的* .java源文件生成包结构?
- 19. 制作一个独立的Java EXE文件
- 20. 使用独立的EXE文件提取 - C#
- 21. 如何比较两个exe文件从现在的旧代码和几个月前建立的现有的exe文件构建的一个文件?
- 22. python修复由py2exe创建的独立exe文件,包括pyd/dll
- 23. 如何使python烧瓶/ jinja/sqlite应用程序的windows独立exe文件
- 24. WxWidgets/GCC/MacOs X:如何正确构建并链接WxWidgets库?
- 25. 如何分析使用Delphi构建的exe的文件大小?
- 26. Android。我如何创建一个平台独立文本文件?
- 27. 构建独立的OCaml程序
- 28. 如何为Windows创建独立的Java可执行文件?
- 29. 用Java在独立目录中执行.exe文件
- 30. 独立的matlab exe不起作用
就像任何其他应用程序,wxWidgets的只是一个图书馆,一个忠告,链接库动态而不是静态的,都带有静态连接各种奇怪的崩溃.. – Nim 2014-10-07 15:36:47
你总是可以静态地将库链接到最终的可执行文件。 – PeterT 2014-10-07 15:37:17
我该怎么做?我是一个wxwidgets的新手:( – Jessie 2014-10-07 16:36:02