我在uvm-systemc-1.0-alpha1 1库的objdir中得到了下面的make check错误。
../configure
make
make install命令很好用。另外,我已经安装了SystemC-2.3.1,并且运行良好。来自make check makecheck.log的详细日志
CXXLD simple/callbacks/basic/test
../../src/uvmsc/.libs/libuvm-systemc.so: undefined reference to `sc_core::sc_time::to_string[abi:cxx11]() const'
../../src/uvmsc/.libs/libuvm-systemc.so: undefined reference to `sc_dt::convert_to_fmt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, sc_dt::sc_numrep, bool)'
../../src/uvmsc/.libs/libuvm-systemc.so: undefined reference to `sc_dt::sc_uint_base::to_string[abi:cxx11](sc_dt::sc_numrep, bool) const'
../../src/uvmsc/.libs/libuvm-systemc.so: undefined reference to `sc_dt::sc_uint_base::to_string[abi:cxx11](sc_dt::sc_numrep) const'
collect2: error: ld returned 1 exit status
Makefile:1064: recipe for target 'simple/callbacks/basic/test' failed
make[3]: *** [simple/callbacks/basic/test] Error 1
make[3]: Leaving directory '/home/mayur/DV/SystemC/uvm-systemc-1.0/objdir/examples/uvmsc'
Makefile:1637: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
make[2]: Leaving directory '/home/mayur/DV/SystemC/uvm-systemc-1.0/objdir/examples/uvmsc'
Makefile:310: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/mayur/DV/SystemC/uvm-systemc-1.0/objdir/examples'
Makefile:341: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1发布于 2016-07-21 21:01:46
看来链接器找不到与SystemC相关的变量。这可能是因为调用与检查相关的测试用例的uvm-systemc-1.0-alpha脚本无法访问SystemC-2.3.1的路径。
使用系统中的SystemC-2.3.1路径重新运行configure。
../configure --with-systemc=/path/to/your/systemc-2.3.1
e.g.
../configure --with-systemc=/home/mayur/DV/SystemC/SystemC-2.3.1 uvm-systemc-1.0/中的INSTALL文件包含所需的说明。
重新运行脚本后,确保在objdir/Makefile中将下面的变量设置为SystemC-2.3.1库路径。
SYSTEMC_CFLAGS = -I<your path>/systemc-2.3.1/include
SYSTEMC_LIBS = -L<your path>/systemc-2.3.1/lib -lsystemchttps://stackoverflow.com/questions/38509369
复制相似问题