wxWidgets包含全部在同一文件夹中的文件?

问题描述:

我在Xubuntu机器上。我已经下载并编译了源代码,进行了make install。wxWidgets包含全部在同一文件夹中的文件?

我试图创建一个简单的wxFrame类,但是当我包含<wx-3.0/wx/frame.h>时,它说Can't resolve type wxFrame。当我看看frame.h时,它包含对<wx/toplevel.h>的引用。 frame.htoplevel.h都位于相同的文件夹中。为什么编译将include文件全部放在同一个文件夹中,但文件路径不同?

我使用CLion IDE,include/lib路径由cmake的FIND_PACKAGE()设置。

+0

不确定您的IDE的具体情况,但一般情况下您可能想要使用wxlibs或单独包含库(取决于编译库的方式)。然后您可能需要将wxWidgets的包含文件夹包含到包含路径中。最后,您还需要包含系统lib \ vc_dll \ mswu和lib \ vc_dll \ mswud下的安装配置。 – macroland

+1

还没有在wx上工作。但似乎你正在设置包含路径错误。您应该将'what/ever/path/wx/installed/wx-3.0'设置为include路径,而'#include '代替。 –

@ShrimpCrackers,

一般建议通过复制样本代码的一个进入你的项目,开始你的项目,然后设置你的项目属性的wx-config --cxxflagswx-config --libs输出。

因此,您应该做的是将wxWidgets/samples/minimal/minimal.cpp复制到项目所在的目录,修复项目属性并重新编译。

顺便说一句,你不必做make install。您可能想要在一台机器上编译库的调试版本和发行版本,这会破坏安装目的。您只需使用库的编译版本

+0

谢谢。一些东西。 1)我将如何使用cmake使用wx-config?以下链接似乎暗示wxconfig不能与cmake一起使用。 http://stackoverflow.com/questions/31092593/how-can-i-use-cmake-to-both-build-wxwidgets-on-demand-and-link-with-it 2)我应该链接什么库反对? usr/local/lib有42个.so文件,以libwx开头。 3)我仍然不明白为什么同一目录中的两个(和更多)头文件具有#include路径,其中一个文件夹期望深度为一个文件夹。例如,fileA.h和fileB.h位于同一位置,但fileA.h引用fileB.h作为wx/fileB.h。 – ShrimpCrackers

+0

@ShrimpCrackers,最好的建议 - 不要使用CMake。 ;-) 1.我确信CMake生成的Makefile将使用适当的参数调用wx-config。是的 - 您将需要使用来自第一个答案的'find_package()'调用来链接问题来查找并正确解析wxWidgets库。 2.不幸的是,我无法帮助你 - 你比其他人更了解该软件。最小集是 - 基础库和核心库。试试这个。如果这会给你链接错误,你会知道你错过了一个库。然后回到这里,我们会尽力解决它。 – Igor

+0

@ShrimpCrackers,3.我不认为这是正确的。你可以参考你看到的这段代码吗?只需用该片段编辑OP即可。也为1 - 使用IDE并直接设置项目属性。我有Anjuta 3,它有一个与wxWidgets一起工作的模板。 – Igor