public: double __thiscall Eigen::MatrixBase<class Eigen::Matrix<double,-1,--1。。等等,该符号在函数 _main 中被引用。遇到这种问题一般都是由于缺少相应的库文件。
其中主要看!
(? xxxxx @@ 的那个函数名。
没有定义或声明。
#include<Eigen/Core>
c.determinant();
解决办法:是忘了包含文件:#include <Eigen/Dense>
其他原因分析:
采用开源程序,忘记添加依赖项
项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项;
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项;
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项。
“error LNK2019: 无法解析的外部符号”的几种可能原因 - CSDN博客 https://blog.csdn.net/shenziheng1/article/details/54588457
引用 .h 文件导致找不到.cpp中的定义,而引用.cpp可以通过.cpp找到.h:
有一个解决方案,有两个工程A,B。工程B中定义了一个类,在工程A的demo.cpp中引用该类,但是如果是 #include "XX,h",则会出现“error LNK2019: 无法解析的外部符号” 如果是#include "XX.cpp",则可以顺利编译通过。
或,c/c++混合编程, c文件内函数无法呼叫c++文件内函数,应该将c文件名改为.cpp,或者将c++文件名改为.c。
碰到“error LNK2019: 无法解析的外部符号” - CSDN博客 https://blog.csdn.net/friday5pm/article/details/1523859