0

我正在 Netbeans 上开发一个应用程序,而我可以运行它。我无法调试或重新运行测试文件。当我尝试这样做时,我得到:

./build/Debug/GNU-Linux-x86/tests/TestFiles/f1: error while loading shared libraries: libboost_thread.so.1.49.0: cannot open shared object file: No such file or directory

它尝试在调试或测试会话中包含库或特定文件,但我继续得到它。会不会与 Netbeans 不一致?

任何想法将不胜感激!

4

1 回答 1

2

我假设您的操作系统是 Linux。从您的电子邮件中可以看出,您可以访问 libboost_thread.so.1.49.0 文件的副本。让 DIR 成为该库所在的目录。

如果您在这台计算机上没有超级用户,请使用方法 A。如果您有超级用户,请使用方法 A 或方法 B。

方法 A. 适用于非超级用户或超级用户。

令 DIR 为库 libboost_thread.so.1.49.0 所在的目录。

我假设您可以从 shell 命令行启动 NetBeans,而不是从 GUI 图标。

  • 退出 NetBeans。在 bash 中执行以下命令:

    export LD_LIBRARY_PATH=DIR:$LD_LIBRARY_PATH
    
  • 从命令行启动 netbeans

最后,您需要将导出命令放入 ~/.bashrc 文件中。

方法 B。仅适用于超级用户。

如果您有超级用户,请使用以下方法之一将缺少的库放入 /usr/lib 或 /lib:

(1) 从 rpm 或 apt 或您的 linux 系统具有的任何软件包安装 boost,或

(2) 使用--prefix=/usr 从源安装boost,或者

(3) 将提到的库复制到/usr/lib。如果您必须使用 #3,请注意符号链接。使用“cp -a”复制并复制以 libboost_thread.so* 开头的所有文件,例如

    cp -a DIR/libboost_thread.so* /usr/lib
于 2012-06-19T18:47:53.657 回答