当尝试第二个示例时 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++ 时,它在我的环境中工作。
关于c++ - octave 独立,示例报告对 `octave::feval 错误的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63844437/