shared-libraries - 无法运行代码:: block :找不到 libwx_gtk2u-2.8.so.0

标签 shared-libraries wxwidgets codeblocks ubuntu-11.04

我正在尝试从(非 SVN)源(codeblocks-10.05-src.tar.bz2)安装 Code::Blocks 10.05。我的操作系统是 Ubuntu 11.04。我需要先下载并安装 wxWidgets(我现在有 wxGTK-2.8.12),这似乎可以工作。我根据这些说明编译它:

http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Linux

然后我将 C::B 配置为

./configure --with-wx-config=/opt/wx/2.8/bin/wx-config

跑了
export LDFLAGS="-Wl,-R /opt/wx/2.8/lib"
make
sudo -i
make install

尝试运行 C::B 时,出现以下错误:
codeblocks: error while loading shared libraries: libwx_gtk2u-2.8.so.0: cannot open shared object file: No such file or directory

在这里提出了同样的问题:error while loading shared libraries ,但是建议的解决方案(即将 wxWidgets 配置添加到传递给 configure 的选项中)对我不起作用。
wx-config --prefix 的输出是 /opt/wx/2.8 ,
wx-config --libs 的输出是 -L/opt/wx/2.8/lib -pthread -lwx_gtk2u-2.8 ,

which wx-config/opt/wx/2.8/bin/wx-config .

我找了图书馆,发现/opt/wx/lib/libwx_gtk2u-2.8.so.0成为 libwx_gtk2u-2.8.so.0.8.0 的链接在同一个文件夹中。

这里可能有什么问题?

最佳答案

问题是程序无法在 找到 WX 小部件库。运行时间 .您需要设置 LD_LIBRARY_PATH 变量以包含 wxWidgets 的位置,如下所示:

LD_LIBRARY_PATH=/opt/wx/2.8/lib ./codeblocks

它失败的原因是因为您针对/opt/中的 wxWidgets 而不是安装在/usr/中的 wxWidgets 编译了代码块;该程序不知道在/opt 中查找 wx 库。

关于shared-libraries - 无法运行代码:: block :找不到 libwx_gtk2u-2.8.so.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7208523/

相关文章:

c - 共享库 (.so) 如何调用在其加载程序代码中实现的函数?

c++ - 我怎样才能简单地按字母顺序对 wxListCtrl 的项目进行排序?

python - 如何从 wxPython 应用程序中捕获所有异常?

C++ 可执行文件在运行时卡住

c - 程序执行终止于代码块

c++ - 在arm-linux-gnueabihf-g++交叉编译期间出错。无法识别共享库文件

c - 创建另一个共享库时链接一个共享库

linux - 共享库中的 undefined symbol

c++ - 当用户按下 Enter 时如何控制 wxStyledTextCtrl 中的 LineIndentation

被跳过的 C++ 函数