gpt4 book ai didi

c++ - 加载共享库时出错 : libsystemc-2. 3.0.so

转载 作者:搜寻专家 更新时间:2023-10-31 01:13:30 24 4
gpt4 key购买 nike

我是 Linux 的新用户,我正在尝试在我的机器 (Fedora 16) 上安装 systemc-2.3.0 库。我非常仔细地遵循了库的 INSTALL 文件中提到的每条说明,但是当我尝试使用 ECLIPSE 运行一个简单程序时出现错误。我已在 ECLIPSE 中正确链接了所有库,但仍然出现错误。

程序如下:

#include <systemc.h>

using namespace std;

int sc_main(int argc, char * argv[])
{
cout << "hello world" << endl;

for(int i=0; i<argc; i++)
cout << argv[i] << " ";

cout << endl;
return 0;
}

错误输出为:

/home/vivek/workspace/TestSystemC/Debug/TestSystemC: error while loading shared libraries: libsystemc-2.3.0.so: cannot open shared object file: No such file or directory

任何帮助将不胜感激。由于我不是 Linux 专家,请以详尽的方式(逐步)解释您的建议。

谢谢。

最佳答案

这是动态链接的环境设置问题,因为共享库安装在系统默认库目录之外。当您执行二进制文件时,加载程序找不到 libsystemc-2.3.0.so。

两种解决方案。

  1. 设置您的 LD_LIBRARY_PATH。

    导出 LD_LIBRARY_PATH=/usr/local/systemc-2.3.0/lib-linux64:$LD_LIBRARY_PATH

    或者,如果您的默认 LD_LIBRARY_PATH 为空

    export LD_LIBRARY_PATH=/usr/local/systemc-2.3.0/lib-linux64

  2. 在链接二进制文件时将 rpath 添加到可执行文件。它向二进制文件添加一个条目并提示加载程序搜索其他路径。

    g++ -o TestSystemC ...你的 C++ 文件... -L/usr/local/systemc-2.3.0/lib-linux64 -lsystemc-2.3.0 -Wl,-rpath,/usr/local/systemc-2.3.0/lib-linux64

关于c++ - 加载共享库时出错 : libsystemc-2. 3.0.so,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12408882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com