- 主题:问个 wxWidgets 的问题 (转载)
【 以下文字转载自 CPlusPlus 讨论区 】
发信人: easior (潜行), 信区: CPlusPlus
标 题: 问个 wxWidgets 的问题
发信站: 水木社区 (Thu Dec 19 18:18:56 2024), 站内
想编译一个 wxWidgets 软件,发现它的源码里禁用了异常。
但 Linux 系统的 wxGTK 默认开启异常,也即宏 wxUSE_EXCEPTIONS 设定为 1。
wxWidgets 官方文档说可以在 ./configure 时通过 --disable-exceptions 禁用,
可是这个 wxWidgets 软件的源码包里只有 Makefile 文件。
尝试在里面的 CFLAGS 设置 -DwxUSE_EXCEPTIONS=1,
但在 make 时被系统里 wxGTK 的默认宏值重置了!
请问还有什么办法在 make 时禁用 wxWidgets 异常!
--
修改:easior FROM 117.143.146.*
FROM 117.143.146.*
写错了,应该是 =0!
实际编译过程肯定没犯这么低级的错误
【 在 gameplayer 的大作中提到: 】
: -DwxUSE_EXCEPTIONS=1不是启用异常吗?
--
FROM 120.253.228.*
试了一下,no luck!
【 在 gameplayer 的大作中提到: 】
: 试试 -DwxNO_EXCEPTIONS
--
FROM 120.253.228.*
从该源码包来看,只是作者不使用异常而不是 wx 不能
所有引起编译错误的代码如下
#if wxUSE_EXCEPTIONS
#error why is wxWidgets ... enabled
#endif
至于作者为什么不启用异常,那就不知道了
【 在 hgoldfish 的大作中提到: 】
: 话说,启用异常会影响不用异常的代码吗?是不是 wx 没有使用 rtti 在抛异常的时候会产生内存泄露?
--
FROM 120.253.228.*
应该是这个软件作者怕 wx 的异常机制引发他这个软件的漏洞!
刚刚又搜了一下,发现 OpenSUSE 在一个月前已经编译过这个包了
它就直接去掉那些条件编译;也就是说,即使 wx 是带异常机制,
这个由它开发的软件也能编译通过!
只是有没有作者担心的漏洞,那就不得而知了。
【 在 hgoldfish 的大作中提到: 】
: 那开启异常编译 wxWidgets 不能过吗?
: 如果一个库阻止其它库使用异常,岂不是没法和很多库配合?
--
修改:easior FROM 114.94.33.*
FROM 117.143.146.*