提升线程链接在 Netbeans 7.1 调试/测试会话中失败

boost thread link fails in Netbeans 7.1 debugging/testing session

本文关键字:调试 测试 会话 失败 线程 链接 Netbeans      更新时间:2023-10-16

我正在 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 不一致的情况?

任何想法将不胜感激!

我假设你的操作系统是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) 从前缀=/usr 的源安装 boost,或

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

    cp -a DIR/libboost_thread.so* /usr/lib