GTKmm 你好世界编译错误
GTKmm Hello World Compile error
所以我正在用C ++制作一个基本的hello world应用程序,这是代码
视图.h
#ifndef VIEW_H
#define VIEW_H
#include <gtkmm/button.h>
#include <gtkmm/window.h>
class View : public Gtk::Window
{
public:
View();
virtual ~View();
protected:
//signal handlers
void on_button_clicked();
//Member Widgets
Gtk::Button m_button;
}
#endif
查看.cpp
#include "helloWorld.h"
#include <iostream>
View::View(): m_buton("Hello World")
{
set_border_width(10);
m_button.signal_clicked().connect(sigc::mem_fun(*this, &View::on_button_clicked));
add (m_button);
m_button.show();
}
View::~View()
{
}
void View::on_button_clicked()
{
std::cout << "Hello World" << std::endl;
}
主.cpp
#include "View.h"
#include <gtkmm/main.h>
int main (int argc, char *argv[])
{
Gtk::Main kit(argc, argv);
View helloWorld;
Gtk::Main::run(helloWorld);
return 0;
}
最后是我的制作文件
Out: Main.o View.o
g++ -o Out Main.o View.o `pkg-config gtkmm-3.0 --cflags --libs`
Main.o: Main.cpp View.h
g++ -c Main.cpp `pkg-config gtkmm-3.0 --cflags --libs`
View.o: View.cpp View.h
g++ -c View.cpp `pkg-config gtkmm-3.0 --cflags --libs`
我安装了 Gtkmm 3.0,并广泛地环顾四周寻找答案,我的错误是
g++ -c Main.cpp `pkg-config gtkmm-3.0 --cflags --libs`
In file included from /usr/include/glibmm-2.4/glibmm/optioncontext.h:27:0,
from /usr/include/gtkmm-3.0/gtkmm/main.h:36,
from Main.cpp:2:
/usr/include/glibmm-2.4/glibmm/optionentry.h:30:8: error: expected unqualified-id before string constant
make: *** [Main.o] Error 1
我该如何解决这个问题? 在我看来,在我的主方法中的某个地方触发了 gtkmm 代码的问题? 我很困惑我的代码几乎正是我在网上找到的如何做到这一点,我只是将 HelloWorld 类的名称更改为查看
您忘记了类定义末尾的;
。
相关文章:
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- std::is_base_of表示ctor编译错误
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- Qt5:使用QCommandLineParser类时出现奇怪的编译错误
- Qt Cmake 错误编译"GuiSupportQt not found"
- Opengl 精度转换错误编译错误 E0415
- 库将ARM架构错误编译为架构X64
- RT 音频 Mac 错误 g++ 编译错误
- 错误编译Boost.log
- 错误编译QT创建者 / QT窗口小部件示例
- 错误编译MIPS32
- Visual Studio 2013 中的错误(编译和运行代码)
- 链接错误编译qt项目在visual 2010
- 无法用模板错误编译nsgmls
- 奇怪的错误.编译失败
- 如果有人调用c++中的方法,则强制错误(编译时)
- 来自autoconf测试的错误编译命令
- 时间限制超出错误C++编译
- SFML 2.3 和 CodeBlocks 错误编译