谷歌快速搜索这个问题表明它很常见,我根本无法在我的生活中找到解决方案。
我直接从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?
答案 0 :(得分:21)
当您“安装”wxMSW安装程序时,wxWidgets不会内置到可用库中。这是因为有很多可配置的元素,这正是你所引用的setup.h的用途。
如果您只想尽快使用默认选项构建它并继续前进,请按以下步骤操作:
启动“Visual Studio命令提示符”。您可以在“Microsoft Visual Studio - > Visual Studio工具”下的开始菜单中找到它。
更改为文件夹:[WXWIN root] \ build \ msw
构建默认调试配置:nmake -f makefile.vc BUILD=debug
构建默认发布配置:nmake -f makefile.vc BUILD=release
确保DLL位于PATH中。它们将在[WXWIN root] \ lib \ _ vc_dll
在上面提到的DLL文件夹下,您将找到每个构建变体的子文件夹(上面的说明有两个,调试和发布。)在每个变体文件夹中,您将找到一个包含'setup'的'wx'文件夹.h“文件。您会看到每个构建变体的setup.h文件实际上是不同的。这些是您需要添加到项目构建配置中的文件夹包含路径,每个构建变体一个。所以,例如,你将[WXWIN root] \ lib \ _ vc_dll \ mswud添加到调试版本的包含路径中,[WXWIN root] \ lib \ vc_dll \ mswu用于发布版本。
可以构建许多其他变体组合:静态库,单片单库,非Unicode等。有关更广泛的说明,请参阅[WXWIN root] \ docs \ msw \ install.txt。< / p>
答案 1 :(得分:5)
构建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>
答案 2 :(得分:2)
您可能需要构建wxWidgets。 wxWidgets构建过程中有一个构建后的步骤,它将相应的setup.h复制到C:\ wxWidgets_install_dir \ include \ wx。
答案 3 :(得分:0)
要做任何事情,首先必须构建核心库(wx_vc#.sln文件)。 然后你可以处理余下的东西。
请记住,需要CppUnit才能编译测试用例。