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