尝试在OSX(Mountain Lion)上使用Codelite进行编译会丢失标题

时间:2012-09-25 02:27:24

标签: macos wxwidgets codelite

我正在尝试一些跨平台的GUI环境,并且正在使用codelite评估wxWidgets,但是一开始就陷入困境。

我对此非常陌生,如果它是一个愚蠢的问题请说出来。

先决条件是,

  1. 使用OSX Mountain Lion
  2. 通过家酿安装wxmac
  3. 下载了Codelite,创建了一个wxWidgets可执行文件
  4. 我制作了一个GUI项目并尝试安装,但却收到了一堆丢失的标题错误。

    make[1]: wx-config: Command not found
    g++  -c  "xxxx/helloworld/main.cpp" -g -O0 -Wall   -o ./Debug/main.o -I. -I. 
    g++  -c  "xxxx/helloworld/MainFrame.cpp" -g -O0 -Wall   -o ./Debug/MainFrame.o -I. -I. 
    In file included from xxxx/helloworld/MainFrame.h:3,
                     from xxxx/helloworld/MainFrame.cpp:1:
    xxxx/helloworld/wxcrafter.h:4:25: error: wx/settings.h: No such file or directory
    xxxx/helloworld/wxcrafter.h:5:27: xxxx/helloworld/main.cpp:1:20: error: wx/app.h: No such file or directory
    xxxx/helloworld/main.cpp:2:22: error: wx/event.h: No such file or directory
    In file included from xxxx/helloworld/MainFrame.h:3,
                     from xxxx/helloworld/main.cpp:3:
    xxxx/helloworld/wxcrafter.h:4:25: error: wx/settings.h: No such file or directory
    xxxx/helloworld/wxcrafter.h:5:27: error: wx/xrc/xmlres.h: No such file or directory
    xxxx/helloworld/wxcrafter.h:6:27: error: wx/xrc/xh_bmp.h: No such file or directory
    xxxx/helloworld/wxcrafter.h:7:22: error: wx/frame.h: No such file or directory
    xxxx/helloworld/wxcrafter.h:8:22: error: wx/sizer.h: No such file or directory
    xxxx/helloworld/wxcrafter.h:9:22: error: wx/panel.h: No such file or directory
    xxxx/helloworld/wxcrafter.h:10:21: error: wx/menu.h: No such file or directory
    xxxx/helloworld/wxcrafter.h:11:24: error: wx/toolbar.h: No such file or directory
    xxxx/helloworld/main.cpp:4:22: error: wx/image.h: No such file or directory
    In file included from xxxx/helloworld/MainFrame.h:3,
                     from xxxx/helloworld/main.cpp:3:
    xxxx/helloworld/wxcrafter.h:14: error: expected class-name before '{' token
    xxxx/helloworld/wxcrafter.h:16: error: ISO C++ forbids declaration of 'wxPanel' with no type
    xxxx/helloworld/wxcrafter.h:16: error: expected ';' before '*' token
    xxxx/helloworld/wxcrafter.h:17: error: ISO C++ forbids declaration of 'wxMenuBar' with no type
    xxxx/helloworld/wxcrafter.h:17: error: expected ';' before '*' token
    xxxx/helloworld/wxcrafter.h:18: error: ISO C++ forbids declaration of 'wxMenu' with no type
    xxxx/helloworld/wxcrafter.h:18: error: expected ';' before '*' token
    xxxx/helloworld/wxcrafter.h:19: error: ISO C++ forbids declaration of 'wxMenuItem' with no type
    xxxx/helloworld/wxcrafter.h:19: error: expected ';' before '*' token
    xxxx/helloworld/wxcrafter.h:20: error: ISO C++ forbids declaration of 'wxMenu' with no type
    xxxx/helloworld/wxcrafter.h:20: error: expected ';' before '*' token
    xxxx/helloworld/wxcrafter.h:21: error: ISO C++ forbids declaration of 'wxMenuItem' with no type
    xxxx/helloworld/wxcrafter.h:21: error: expected ';' before '*' token
    xxxx/helloworld/wxcrafter.h:22: error: ISO C++ forbids declaration of 'wxToolBar' with no type
    xxxx/helloworld/wxcrafter.h:22: error: expected ';' before '*' token
    xxxx/helloworld/wxcrafter.h:25: error: 'wxCommandEvent' has not been declared
    xxxx/helloworld/wxcrafter.h:26: error: 'wxCommandEvent' has not been declared
    xxxx/helloworld/wxcrafter.h:29: error: expected `)' before '*' token
    xxxx/helloworld/wxcrafter.h: In member function 'virtual void MainFrameBaseClass::OnExit(int&)':
    xxxx/helloworld/wxcrafter.h:25: error: request for member 'Skip' in 'event', which is of non-class type 'int'
    xxxx/helloworld/wxcrafter.h: In member function 'virtual void MainFrameBaseClass::OnAbout(int&)':
    xxxx/helloworld/wxcrafter.h:26: error: request for member 'Skip' in 'event', which is of non-class type 'int'
    

    我的猜测是指定包含所有这些的文件夹,但我不知道在哪里找到它们。

    说实话,我不确定这是否是正确的行动,也许我需要安装或设置一些东西,也许我不应该使用自制软件并按源安装

    感谢VZ。我让它工作,不得不改变一些构建设置,如下所示

    1. 设置> BuildSettings> gnu g ++>工具> PATH环境变量设置为
    2.   

      的/ usr / local / bin中:在/ usr / bin中:/ bin中

      1. 将所有编译器,链接器,共享对象链接器设置设置为绝对路径,因此请更改
      2.   

        克++

          

        的/ usr /斌/克++

        等等。

        这肯定会改变每台机器的设置,因此可能不应该遵循这个字母,但应该让你开始。

        希望这会有所帮助。

2 个答案:

答案 0 :(得分:1)

您需要修复的错误是第一个错误:

make[1]: wx-config: Command not found

确保wx-config在您的路径中。 手动指定包含路径,这不是正确的方法,您必须使用wx-config

答案 1 :(得分:0)

您可能需要下载wxWidgets源代码分发(来自this page的2.9.4或来自SVN的最新源代码),解压缩,从源代码构建库

./configure && make && sudo make install

然后重新启动,然后尝试构建Codellite。