当前位置:  技术问答>linux和unix

gtkmm and ld.so.conf

    来源: 互联网  发布时间:2015-06-25

    本文导语:  我在Redhat 9.0下成功安装了gtkmm-2.4.0,gtkmm下的example可以正常运行。 在Programming in Gtkmm中有一个很简单的例子,如下: #include  int main(int argc, char *argv[]) {     Gtk::Main kit(argc, argv);     Gtk::Window window;     ...

我在Redhat 9.0下成功安装了gtkmm-2.4.0,gtkmm下的example可以正常运行。
在Programming in Gtkmm中有一个很简单的例子,如下:

#include 

int main(int argc, char *argv[])
{
    Gtk::Main kit(argc, argv);

    Gtk::Window window;

    Gtk::Main::run(window);
    
    return 0;
}

用命令行:
g++ simple.cc -o simple `pkg-config gtkmm-2.4 --cflags --libs`
编译通过,但在执行时,系统报错,说libgtkmm-2.4.so.1找不到,修改/etc/ld.so.conf,添加了/usr/local/lib,并且用ldconfig使之生效,再次运行,系统报错,
relocation error, 说无法定位gtk_action_get_type.

请问这个问题如何解决?
谢谢! 

|
各种各样的环境变量控制着一些关键的过程。例如你可以临时为你特定的程序的一次执行指定一个不同的函数库。Linux系统中,通常变量LD_LIBRARY_PATH就是可以用来指定函数库查找路径的,而且这个路径通常是在查找标准的路径之前查找。这个是很有用的,特别是在调试一个新的函数库的时候,或者在特殊的场合使用一个肥标准的函数库的时候。环境变量LD_PRELOAD列出了所有共享函数库中需要优先加载的库文件,功能和/etc/ld.so.preload类似。这些都是有/lib/ld-linux.so这个loader来实现的。值得一提的是,LD_LIBRARY_PATH可以在大部分的UNIX-linke系统下正常起作用,但是并非所有的系统下都可以使用,例如HP-UX系统下,就是用SHLIB_PATH这个变量,而在AIX下则使用LIBPATH这个变量。 

LD_LIBRARY_PATH在开发和调试过程中经常大量使用,但是不应该被一个普通用户在安装过程中被安装程序修改,大家可以去参考http://www.visi.com/~barr/ldpath.html,这里有一个文档专门介绍为什么不使用LD_LIBRARY_PATH这个变量。

|
`pkg-config gtkmm-2.4 --cflags --libs`
在命令行上执行上边的命令,看看搜索路径里边,有没有你找的那个文件,如果没有的话,说明镇的每有这个库~

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • GTK+的C++接口 GTKmm
  • gtkmm安装问题
  • 安装gtkmm的出错,不知道该怎么解决了
  • Gtkmm的问题,请指教!!!!!
  • 谁来讲解一下linux下gtkmm的消息处理机制?[300分,讲得好的话,另加300分] 领分区01
  • 谁来讲解一下linux下gtkmm的消息处理机制?[300分,讲得好的话,另加300分]的领分区02
  • 用anjuta创建的gnome 2.0 project的c++程序无法编译,提示缺少gtkmm/xxx文件
  • gtkmm 里边的 button 如何隐藏和显示?
  • gtkmm简单问题
  • 谁来讲解一下linux下gtkmm的消息处理机制?[300分,讲得好的话,另加300分]


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3