谷歌快速搜索这个问题表明它很常见,我根本无法在我的生活中找到解决方案。

我直接从wxWidgets网站直接安装wxWidgets 2.8.8 for Windows。

每当我尝试编译任何内容时(例如“针对wxWidgets的第一个程序”中描述的示例应用程序 - http://zetcode.com/tutorials/wxwidgetstutorial/firstprograms/ )我得到:

wx / setup.h:没有这样的文件或目录

我在编译器搜索列表中包含了C:\ wxWidgets-2.8.8 \ include和C:\ wxWidgets-2.8.8 \ include \ wx。

应该很简单 - 但事实并非如此! :(

如果我尝试使用与wxWidgets集成的IDE(例如Code :: Blocks),同样的事情就会发生 - 而且,我想,这本来就可以解决这个问题......

所以,请帮助一下......为什么找不到setup.h?

有帮助吗?

解决方案

当你“安装”时,wxWidgets没有内置到可用的库中。 wxMSW安装程序。这是因为有很多可配置的元素,这正是你所引用的setup.h的用途。

如果您只想尽快使用默认选项构建它并继续前进,请按以下步骤操作:

  1. 启动“Visual Studio命令提示符”。您可以在“Microsoft Visual Studio - >”下的开始菜单中找到它。 Visual Studio工具"。

  2. 更改为文件夹:[WXWIN root] \ build \ msw

  3. 构建默认调试配置: nmake -f makefile.vc BUILD = debug

  4. 构建默认发布配置: nmake -f makefile.vc BUILD = release

  5. 确保DLL位于PATH中。它们将在[WXWIN root] \ lib \ _ vc_dll

  6. 中找到
  7. 在上面提到的DLL文件夹下,您将找到每个构建变体的子文件夹(上面的说明有两个,调试和发布。)在每个变体文件夹中,您将找到一个包含'setup'的'wx'文件夹.H"文件。您会看到每个构建变体的setup.h文件实际上是不同的。这些是您需要添加到项目构建配置包含路径的文件夹,每个构建变体一个。因此,例如,您将[WXWIN root] \ lib \ _ vc_dll \ mswud添加到调试版本的包含路径,[WXWIN root] \ lib \ vc_dll \ mswu用于您的发布版本。

  8. 可以构建许多其他变体组合:静态库,单片单库,非Unicode等。有关更广泛的说明,请参阅[WXWIN root] \ docs \ msw \ install.txt。

其他提示

构建wxWidgets时,它会为构建的每个构建配置动态创建一个setup.h文件。生成的setup.h文件存储在lib文件夹下的文件夹中(例如Windows上的Visual Studio):

c:\wxWidgets-2.9.2\lib\vc_lib\mswu

要成功构建基于wxWidgets的项目,项目中的每个构建配置都必须使用自己的Additional Include Directory进行设置,该目录指向lib下相应的wxWidgets构建文件夹,例如上面列出的那个。

此外,项目中所有构建配置通用的附加包含目录必须设置为指向wxWidget的主包含文件夹。此文件夹通常设置在可在任何项目中使用的用户属性表中。 E.g:

c:\wxWidgets-2.9.2\include

对于链接,所有构建配置的通用附加库目录都设置为指向wxWidgets lib文件夹。 E.g:

c:\wxWidgets-2.9.2\lib\vc_lib

然后,特定于每个构建配置,附加依赖项条目被设置为包括相应wxWidgets库的库。例如,对于Unicode,Debug构建(u = Unicode,d = Debug):

wxbase29ud.lib

然后,要在项目中使用wxWidgets,首先要包含生成的setup.h文件:

#include "wx/setup.h"

然后包含特定wxWidgets功能的标头。 E.g:

#include <wx/slider.h>
#include <wx/image.h>
#include <wx/control.h>

您可能需要构建wxWidgets。 wxWidgets构建过程中有一个构建后的步骤,它将相应的setup.h复制到C:\ wxWidgets_install_dir \ include \ wx。

要做任何事情,首先必须构建核心库(wx_vc#.sln文件)。 然后你可以处理余下的东西。

请记住,您需要 CppUnit 才能编译测试用例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top