error LNK2019: 无法解析的外部符号

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


 

posted @ 2018-05-22 17:32  ostartech  阅读(6790)  评论(0编辑  收藏  举报