有很多教程是关于建立一个新XCode项目以便与wxWidgets一起使用的,但是我需要将它与一个现有的XCode C大型项目集成。
wxWidgets的设置过程我不清楚。我在XCode中使用包含的wxcoco.xcodeproj文件构建wxWidgets。但是当我将所有头文件和libwx_osx_coco.dylib库包含到现有的XCode项目中时,我在wxWidgets头文件(如Use of undeclared identifier 'wxApp'
和No matching constructor for initialization of 'wxEvent'
)中得到所有这些错误,就好像它是丢失的文件一样。但是我已经包含了所有的头文件和编译库。我试着在终端中构建wxWidgets,也得到了同样的错误。我试着在我的系统上实际安装wxWidgets。我试着在终端中运行这个命令wx-config --cxxflags --libs all
。我试着在XCode项目的编译器和链接器标志中添加wx-config --cxxflags
和wx-config --libs all
,但没有任何效果。
具有讽刺意味的是,我试图使用wxWidgets库来简化GUI过程,但我却花了两天时间来让我的C XCode项目编译。有人知道我做错了什么吗?
**EDIT:**问题似乎是XCode。我已经下载了this page底部的wxWidgets Hello World示例程序。我可以在终端中构建此程序而不会出现问题,但当我将其放入新的XCode项目中时,它无法构建。如何才能让XCode构建此简单程序?
cx-config输出:
XCode项目设置:
EDIT 2:我从XCode中导出了Build Log,并看到实际的编译命令使用了clang。当我在终端中成功编译Hello World时,我使用了clang++。当我尝试使用clang执行相同的命令时,它不起作用。也许这就是问题所在,因为clang只链接C库,而XCode给我的错误与无法找到标准C++函数有关。
EDIT 3:哇,我讨厌XCode。我不小心编译了Hello World程序。解决方案是将wxWidgets编译器标志放在TargetsBuild Settings中,而以前,我将它放在ProjectBuild Settings中。我以为Targets会继承Project设置,但我猜不是!x1c4d 1x
**编辑4:**我把所有的搜索路径和标记从Project Build Settings移到Targets Build Settings,用wxWidgets库编译了我复杂的XCode项目。真是一场噩梦!很高兴一切都结束了
1条答案
按热度按时间rsaldnfx1#
@摇摆迪72
,我建议做以下几点:
1.删除wxWidgets目录。
1.将wxWidgets解压缩到~/wxWidgets中。
1.打开“终端”。
1.航站楼内
4a. cd ~/wx小工具
4 b. mkdir编译OSX
4c.光盘构建OSX
4d.../配置--启用调试
4 e.制造商-j5
成功构建后
使用上面2个命令的输出,并将值放在XCode项目中它们所属的位置。
如果您有任何问题-请告诉我们。