t3h*_*man 16 c++ eclipse gtkmm
操作系统:Fedora 14
编译:g ++(GCC)4.5.1 20100924(Red Hat 4.5.1-4)
我通过yum从存储库安装了gtkmm24-devel.为了确保安装按计划进行,我决定尝试使用页面上的一个示例.
#include <gtkmm.h>
int main(int argc, char *argv[]) {
Gtk::Main kit(argc, argv);
Gtk::Window window;
Gtk::Main::run(window);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我跑了这个例子,嘿!它说找不到gtkmm.h,没问题,我只是忘了链接库.我通过Eclipse将/usr/include/gtkmm-2.4添加到我的库搜索中.没有bueno,g ++仍然无法找到它!
fatal error: gtkmm.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
然后我尝试通过使用#include <gtkmm-2.4/gtkmm.h>
和重新编译包含gtkmm ,另一个错误!:(
/usr/include/gtkmm-2.4/gtkmm.h:87:20: fatal error: glibmm.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
谢谢阅读.
kal*_*lev 23
简短的回答
使用'pkg-config gtkmm-2.4 --cflags'的输出作为包含路径,使用'pkg-config gtkmm-2.4 --libs'来链接库.
答案很长
它说找不到gtkmm.h,没问题,我只是忘了链接库.
构建C/C++程序分两个步骤完成.首先编译源文件,输出目标文件; 然后将目标文件链接在一起.您获得的错误来自编译步骤.
在Linux上,大多数库都附带了pkgconfig文件,以便其他程序更容易使用这些库.gtkmm还附带了自己的pkgconfig文件.
您正尝试手动指定/usr/include/gtkmm-2.4 for include path; 这是错的.而是使用pkgconfig的输出来确定头文件的位置.要获取gtkmm所需的所有包含目录,请使用以下命令:
pkg-config gtkmm-2.4 --cflags
Run Code Online (Sandbox Code Playgroud)
要进行链接,请使用以下pkgconfig命令获取需要链接的库:
pkg-config gtkmm-2.4 --libs
Run Code Online (Sandbox Code Playgroud)
您可以通过直接调用g ++在命令行上测试它.
g++ myfirstprogram.cpp -o myfirstprogram `pkg-config gtkmm-2.4 --cflags --libs`
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅gtkmm文档:http://library.gnome.org/devel/gtkmm-tutorial/unstable/sec-basics-simple-example.html.en
归档时间: |
|
查看次数: |
21601 次 |
最近记录: |