- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 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。
两种解决方案。
设置您的 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
在链接二进制文件时将 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/
我是 Linux 的新用户,我正在尝试在我的机器 (Fedora 16) 上安装 systemc-2.3.0 库。我非常仔细地遵循了库的 INSTALL 文件中提到的每条说明,但是当我尝试使用 ECL
我是一名优秀的程序员,十分优秀!