惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
美团技术团队
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
IT之家
IT之家
Google DeepMind News
Google DeepMind News
D
Docker
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 【当耐特】
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
月光博客
月光博客
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 一些记录

如果 要调试 RA支持吗 MarkBin(MarkDown++)是一个可见即可的的MarkDown编辑器 下载 免费使用 Win32 Demo AesSafe文件夹加密工具 在断开环境中使用 MSIX 打包工具 修改tarui的html后如何重新编译 cargo tauri build prevAll QT快速创建函数快捷键 alt+enter qt6 mac 需要mac os 12的版本 the installed QT MSVC2022 MISSING DEBUG INFORMATION FILES qt internal error the extendsion c 解决“msvcp140d.dll 找不到”错误 build wxwidgets config ld.exe||cannot find -lwxmsw32ud: No such file or directory| 关于Windows“wx/setup.h: No such file or directory”解决 MFC程序错误-在共享DLL中使用MFC Warning: Cannot find any version of the dxcompiler.dll and dxil.dll. windeployqt xxxxxxx.exe --qmldir C:\Qt6\6.9.2\msvc2022_64\qml - 一些记录 护眼颜色
在 wxWidgets 中,setup.h 引用了头文件,
一些记录 · 2025-09-15 · via 博客园 - 一些记录

在 wxWidgets 中,setup.h 引用了头文件,它定义了将要或已经用于构建 wxWidgets 的所有可配置设置。

用法

setup.h 和构建 wxWidgets

有时,您可能希望在构建 wxWidgets 库之前编辑 setup.h。这样做是为了启用或禁用某些功能(或类);这些功能、类及其依赖项在 setup.h 文件本身中都有详细记录。例如,您可能希望使用 wxUSE_EXTENDED_RTTI 构建库(以启用 XTI),但不使用 wxUSE_TIMER(因为您的应用程序没有使用它)。

如果您确实想要或需要编辑 setup.h 中的设置,则需要从官方网站下载 wxWidgets,并手动构建它。

主 setup.h
有一个主 setup.h 位于 “include/wx/<your build platform>” 中(这是您在构建 wxWidgets 之前可能想要编辑的文件)。
构建后配置 setup.h 文件
当您构建项目时,此安装文件将复制到构建配置唯一的目录中(例如,MSW 上的“wxWidgets Debug”构建会将该文件复制到“lib\mswd\wx\setup.h”)。当您对主 setup.h 进行任何更改时,下一个版本将自动将其复制到当前的每个配置 setup.h 上。

预构建包

如果您要针对预构建的 wxWidgets 包(例如 Ubuntu 或 Mac OS X 附带的包)构建应用程序,它们已经为该平台选择了适当的设置,您将无法更改这些设置。然而,大多数发行版应该已经在不同的配置下附带了多个 wxWidgets 版本,最常见的是调试和发布以及 unicode 和 ascii 配置。可以使用 wx-config 的适当选项来选择这些替代配置。如果您在查找用于构建该包的 setup.h 标头的 include 目录时遇到问题,您可以简单地运行“wx-config --cppflags”(还添加任何其他配置选项)。许多 linux 发行版和 Mac OS X 将此文件安装在不同的位置,但 wx-config 总是知道在哪里可以找到它。

常见问题

为什么这样设置?

然而,这真的非常简单。wx/msw 中有一个主 setup.h,它最初由构建过程复制到与配置相关的目录。这允许您为不同的配置使用不同的 setup.h。

现在,如果你问我这样做是否是个好主意,我现在绝对可以回答“不”。没有其他问题导致如此巨大的混乱,我相信再多的文档也无法解决它(尽管它们肯定会有所帮助)。当时,镜像 Unix 构建过程似乎是个好主意,但事实证明这是一个非常糟糕的主意。

但是,如果你问我是否要再次将其恢复为单个 setup.h,我也会回答“不”,因为像往常一样,这会使混乱量增加一倍,而不是解决问题。所以到目前为止,我们只能尝试向人们(无论如何,那些想听的人)解释当前系统是如何运作的。

我必须更改所有 8 个 setup.h 文件吗?

不需要,你只需要更改 include/wx/<your build platform>/setup.h。

我可以只更改一个并将其复制到其他 7 个上吗?

你可以但不应该,没有必要这样做。

为什么我需要为每个构建配置使用不同的 setup.h?反正它们不应该都是一样的吗?

有时让它们不同很方便。例如,您可能希望为 ANSI 生成启用 ODBC,但不为 Unicode(因为它不适用于 Unicode)。为此,请先编辑主文件,然后修改要与之不同的文件。