我是Linux的新用户,我正在尝试在计算机上安装systemc-2.3.0
库(Fedora 16)。我非常仔细地遵循了库的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;
}
错误输出为:
任何帮助将不胜感激。由于我不是Linux专家,请以详尽的方式(逐步)解释您的建议。
谢谢。
最佳答案
这是动态链接的环境设置问题,因为共享库安装在系统默认库目录之外。执行二进制文件时,装入程序无法找到libsystemc-2.3.0.so。
两种解决方案。
export 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
g++ -o TestSystemC ...your c++ files... -L/usr/local/systemc-2.3.0/lib-linux64 -lsystemc-2.3.0 -Wl,-rpath,/usr/local/systemc-2.3.0/lib-linux64