一文全面了解 wxWidgets 的安装
wxWidgets的头文件和库必须可用,以便使用它构建应用程序,因此开始使用wxWidgets的第一步是安装它。对于所有平台和库版本,都可以通过从源代码构建wxWidgets来完成此操作,但是对于最常见的平台,也提供了预构建的库二进制文件,因此首先要做的决定是使用这些二进制文件还是自行构建库。自行构建库允许您使用确切需要的选项编译最新版本,因此是最灵活的解决方案,但使用二进制文件可能更简单、更快捷
目录
wxWidgets的头文件和库必须可用,以便使用它构建应用程序,因此开始使用wxWidgets的第一步是安装它。对于所有平台和库版本,都可以通过从源代码构建wxWidgets来完成此操作,但是对于最常见的平台,也提供了预构建的库二进制文件,因此首先要做的决定是使用这些二进制文件还是自行构建库。自行构建库允许您使用确切需要的选项编译最新版本,因此是最灵活的解决方案,但使用二进制文件可能更简单、更快捷——选择权在您,只需根据您偏好的方法遵循下面相应部分中的说明即可。当然,您只需要执行其中一种操作,而不是两者都执行。
使用二进制文件
如何安装二进制文件取决于您的平台:
•对于Microsoft Windows(MSW),wxWidgets项目在下载页面上提供了官方二进制文件,请参阅使用它们的说明。
•对于Linux和其他免费的类Unix系统,wxWidgets包在系统存储库中以“wxGTK”的名称提供。请注意,要使用wxWidgets开发应用程序,您可能需要安装“开发”包,而不仅仅是运行使用wxWidgets的应用程序所需的库。例如,在Debian和基于Debian的系统(如Ubuntu)上,您需要运行apt get libwxgtkX.Y-dev。
•对于macOS,wxWidgets可在第三方包管理器(如brew或MacPorts)中找到,您可以以通常的方式安装它们。
此外,一些第三方C++包管理器也提供wxWidgets二进制文件。例如,请查看此帖子以获取使用vcpkg C++包管理器安装wxWidgets的说明。
从源代码构建
获取源代码
要构建库,首先需要获取其源代码。推荐的方法是使用Git从官方wxWidgets存储库中检出源代码,使用以下命令:
$ git clone --recurse-submodules https://github.com/wxWidgets/wxWidgets.git
另外,您可以从下载页面下载源代码。请注意,所有不同格式(ZIP、7z、tar.bz2)的源代码存档都包含相同的文件,但使用不同的行尾格式:后者使用Unix(“LF”)格式,而另外两个使用DOS(“CR LF”)格式。通常,最好选择与当前平台对应的格式。如果下载的源代码使用DOS行尾格式,由于文件大小更小,建议选择7z格式。
选择构建系统
wxWidgets可以在所有平台上使用CMake进行构建。如果您更喜欢使用CMake,请遵循CMake的构建说明。
否则,请根据您的平台选择适当的说明:
• 对于Microsoft Windows下的原生wxMSW端口。
• 对于Linux和其他类Unix系统下的wxGTK。
• 对于macOS下的原生wxOSX端口。
上面提到的wxWidgets端口是主要的,但也存在其他变体,请参阅平台详细信息页面以获取完整列表。
构建您的应用程序
安装wxWidgets后,您需要设置应用程序以使用它进行构建。
与之前一样,如果您使用CMake,请遵循使用CMake构建应用程序的说明。
请注意,您可以使用提供的samples/minimal/CMakeLists.txt文件来测试使用CMake构建最小示例,以验证您的安装。
否则,请选择适合您的平台和构建系统的方法:
Unix,命令行
在任何类Unix系统上,包括macOS以及MSW下的Cygwin或MSYS2等类Unix环境,由单个源文件hello.cpp组成的非常简单的应用程序可以直接使用以下命令从命令行构建:
$ c++ -o hello hello.cpp
wx-config --cxxflags --libs
请注意,在这种情况下,您必须使用wx-config来获取编译器和链接器的标志。使用此方法与samples/minimal/minimal.cpp一起是一个简单的检查wxWidgets是否正确安装并可以使用的方法,建议您尝试构建它,特别是如果您是wxWidgets的新手。
Unix,使用GNU Make
在Unix下构建更实际的应用程序时,通常会使用makefile进行构建。对于一个由hello.cpp和bye.cpp文件组成的程序,一个简单的makefile可能如下所示:
#使用的wx-config,可以在make命令行上覆盖。
# wx-config to use, may be overridden on make command line.
WX_CONFIG := wx-config
WX_CXXFLAGS := $(shell $(WX_CONFIG) --cxxflags)
WX_LIBS := $(shell $(WX_CONFIG) --libs)
OBJECTS := hello.o bye.o
hello: $(OBJECTS)
$(CXX) -o $@ $(OBJECTS) $(LDFLAGS) $(WX_LIBS) $(LIBS)
$(OBJECTS): %.o: %.cpp
$(CXX) -c -o $@ $(WX_CXXFLAGS) $(CXXFLAGS) $<
有关为GNU make编写makefile的更多信息,请参阅手册。同时请注意,如果您将上述makefile复制粘贴到自己的makefile中,需要将前导空格替换为TAB。
MSW,使用Microsoft Visual Studio
对于使用Microsoft Visual Studio IDE的应用程序,只需按照说明将提供的wxwidgets.props属性表文件添加到您的项目中,然后像平常一样构建项目即可。
Mac,使用Xcode
如果您想在Xcode项目中使用环境变量(如WXWIN),则需要执行以下操作:
•在Xcode中启用环境变量的使用:
defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NO
•为与启动代理(适用于OSX 10.10及更高版本的应用程序)一起使用而设置变量
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>my.startup</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>
launchctl setenv WXWIN /Users/dconnet/devtools/wx/wxWidgets-3.1.5
</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
其他IDE
如果您使用的是支持wxWidgets的IDE,例如Code::Blocks或CodeLite,请使用IDE向导。
如果您使用的是其他IDE,在Unix下,您应该分别运行wx-config --cxxflags和wx-config --libs命令,并将它们的输出分别复制到IDE中的“附加预处理器选项”和“附加链接器选项”字段中。在MSW系统下,您需要使用“使用wxWidgets手册设置”部分中的说明来配置IDE。
// END
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)