【问题标题】:Building wxWidgets Hello world构建 wxWidgets Hello world
【发布时间】:2018-08-18 18:03:51
【问题描述】:

wxWidgets hello world example 没有提供足够的信息来在任何特定环境中构建 wxWidgets。

Code::Blocks wxWidgets hello world example 确实提供了足够的信息,但新手,甚至是相当老练的用户似乎不太可能自己弄清楚所有必要的步骤,因为需要一些神秘的魔法词。

Code Yarns example 使用 CMake,因此可以在许多特定环境中运行,但似乎假设您已经设置 wxWidgets 并为您的特定环境编译它,并且似乎没有 CMakeLists.txt 文件来为您的特定环境编译 wxWidgets。

wxWidgets 应该是跨平台和跨环境的,我正在尝试建立一个项目以在多个环境中编译:在 Windows10 Visual Studio、Windows 10 TDM-GCC、Windows 10 Code::Blocks、Ubuntu Code 上: :Blocks 和 Ubuntu 10 gcc。

除了 Code::Blocks 环境之外,还有麻烦。除了 Code::Blocks 之外,我找不到在目标上实际设置 wxWidgets 以便 Hello World 实际编译和运行的“Hello World”示例。

wxWidgets 示例目录并不是特别有用,因为示例假定了一个环境,并且没有描述设置该环境以及将导致示例构建和运行的操作。

【问题讨论】:

  • 什么是问题?您需要其他指南吗?如果是这样,这是 Stack Overflow 上的题外话。采取任何现有的指南,并尝试遵循它。如果某个步骤导致问题,请询问具体步骤和具体问题(但在询问之前尝试谷歌)。
  • @studie,你不需要安装任何东西。只需构建库并开始开发。
  • @studie,你的问题似乎很奇怪。构建示例的说明与构建库的说明没有任何关系。我很高兴您找到了您要查找的内容,但将来您需要准确指定您要查找的内容。谢谢。

标签: c++ cmake cross-platform wxwidgets


【解决方案1】:

安装指南

我知道这是一个老问题,但我很难找到 wxwidgets 上的安装指南。您可以使用 Microsoft 的 vckpg 导入器。在执行此例程之前,请确保您已安装 git。我将使用 Visual Studio 2017 为 Windows 编写此代码:

  1. 将以下存储库克隆到您选择的目录: git clone @987654321@
  2. 然后打开powershell(ps)(以管理员身份运行)并导航到克隆的vcpkg文件夹
  3. 1234563
  4. 现在安装 wxwidgets 32 位运行 \.vcpkg install wxwidgets --triplet x86-windows。对于 64 位版本,请运行 \.vcpkg install wxwidgets --triplet x64-windows

  5. 现在在 Visual Studio 中打开项目的属性。
  6. 对于 64 位 wxwidgets 版本的集成,选择所有配置并作为 x64 平台。然后转到 C/C++ -> General -> Additional Include Directories 并添加以下文件夹路径YOUR_FOLDER_PATH\vcpkg\packages\wxwidgets_x64-windows\include;YOUR_FOLDER_PATH\vcpkg\packages\wxwidgets_x64-windows\lib。对 x86 配置执行相同操作,但使用 wxwidgets_x86-windows 文件夹路径。
  7. 作为最后一步,进入 C/C++ -> Preprocessor 下的属性,并在 Preprocessordefinition 点下添加以下内容作为额外点 WXUSINGDLL=1(如果您想使用 x64 和 x86 平台配置,请执行此操作两者)

现在您应该可以使用该库并运行 hello world 项目了。

【讨论】:

    【解决方案2】:

    要构建应用程序,首先需要编译库。为此,您可以获取预编译的二进制文件或源代码(请参阅Downloads)并自己编译它们(请参阅Building)。

    说明可能仍然不适合每个人,欢迎您改进它们 - 甚至称其为您的第一个贡献;)

    【讨论】:

    • 我在这个问题中寻找的信息位于 wxWidgets/docs/install.txt 中的 Docs 目录中,该目录由 wxWidgets/docs/readme.txt 指向
    • 您的意思可能是docs/<port>/install.txt,这正是上面的Building 链接指向的内容。
    【解决方案3】:

    我正在寻找的安装说明可以在 wxWidgets/docs/install.txt 中找到

    【讨论】:

    • 不能,因为没有docs/install.txt,自己看官方仓库。 github.com/wxWidgets/wxWidgets/tree/master/docs
    • 是的,我已经更正了:Microsoft Windows 的说明在 wxWidget-XXX/docs/msw/install.txt 中,Linux 的说明在 wxWidget-XXX/docs/gtk/install.txt
    【解决方案4】:

    有多种方法可以在 Windows 上设置 wxWidgets 并在项目中使用它。 如果您的项目要使用 CMake,则有 2 个主要选项(除了以其他方式自己编译内容):

    1. 使用 vcpkg - 从理论上讲,这是最简单的,但我无法(及时)让它工作。以下是一些相关信息:https://www.wxwidgets.org/blog/2019/01/wxwidgets-and-vcpkg/ 问题是find_package找不到包,于是我就去了2:
    2. 从 wxwidgets 下载最新编译的头文件、库和 bin,并将它们放在 c:/wxwidgets 之类的文件夹中。然后,在您的 Cmake 文件中,在调用 find_package 之前,执行以下操作:

    SET(wxWidgets_ROOT_DIR "c:/wxwidgets/")

    SET(wxWidgets_LIB_DIR "c:/wxwidgets/lib/vc14x_x64_dll")

    SET(wxWidgets_CONFIGURATION "mswd")

    在我的例子中,LIB_DIR 使用的是 VS2019 x64。 mswd 只是意味着为调试构建这个

    最后,在添加可执行文件时,不要忘记 WIn32:

    add_executable(membot WIN32 ${project_SRCS})
    

    P.S.:记得提取 lib 附近的 include 头文件夹。

    【讨论】:

      猜你喜欢
      • 2015-08-30
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多