当尝试第二个示例https://octave.org/doc/v5.1.0/Standalone-Programs.html#Standalone-Programs时,出现以下错误:
embedded.cc:(.text+0x132): undefined reference to `octave::feval(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, octave_value_list const&, int)'
mkoctfile的-d选项提供以下两个g++命令,其中第一个可以正常使用。g++ -std=gnu++11 -c -fPIC -I/grid/common/pkgsData/octave-v5.1.0/Linux/RHEL7.0-2017-x86_64/include/octave-5.1.0/octave/.. -I/grid/common/pkgsData/octave-v5.1.0/Linux/RHEL7.0-2017-x86_64/include/octave-5.1.0/octave -I/grid/common/pkgsData/octave-v5.1.0/Linux/RHEL7.0-2017-x86_64/include -pthread -fopenmp -fPIC embedded.cc -o /tmp/oct-EYDDih.o
和g++ -std=gnu++11 -I/grid/common/pkgsData/octave-v5.1.0/Linux/RHEL7.0-2017-x86_64/include/octave-5.1.0/octave/.. -I/grid/common/pkgsData/octave-v5.1.0/Linux/RHEL7.0-2017-x86_64/include/octave-5.1.0/octave -I/grid/common/pkgsData/octave-v5.1.0/Linux/RHEL7.0-2017-x86_64/include -pthread -fopenmp -fPIC -rdynamic -fPIC -o embedded /tmp/oct-EYDDih.o -L/grid/common/pkgsData/octave-v5.1.0/Linux/RHEL7.0-2017-x86_64/lib -L/grid/common/pkgsData/octave-v5.1.0/Linux/RHEL7.0-2017-x86_64/lib/octave/5.1.0 -loctinterp -loctave
知道如何解决这个问题吗? 最佳答案
我发现此问题的根本原因是,加载了一个EDA工具(Cadence Xcelium)模块,该模块使g++指向其私有(private)版本,当我用/ bin / g++替换g++时,它可以在我的环境中运行。