VS2017运行程序 运行C程序时提示无法解析的外部符号,请问应该怎么调试?

在使用vs2008调试程序的过程中,经常会絀现无法解析的外部符号问题,可能的原因有很多种,下面这些是我一年来积累的经验.

[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,結果使用的是32位的lib包.
[1]只写了类声明但还没有写实现类,造成调用时无法解析
[2]声明和定义没有统一,造成链接不一致无法解析
[3]没有在项目屬性页的链接器的命令行选项加入相应的类包。
[4]没有在c++包含目录和库目录加入相应的类包路径
[5]在测试工程中被测文件目录可能需要包含被測类的cpp定义文件
[6]ICE接口测试时无法解析可能因为被测文件没有包含进相关的cpp文件,另外在TestSuite_ProjectRun.h文件中需要包含IProjectRun.h头文件,及相关的头文件(举例)
[7]import相关的无法解析内容,解决办法是在链接器的依赖项中加入相应的动态库
[8]出现如下错误的原因一般是动态库没有包进来__imp

出现这种错误的原因只有三种:

1 函数写错了或者是int  main入口几个字母就错了

2 有函数的声明,但是函数没有内容

3 月函数的内容但是没有进行声明

如果dll中调用出错的话

一般是自巳的dll中没有加API声明导致的

也就是说dll类型的项目应当添加如下的声明才可以的:

然后所有的函数前面需要加上:

这样在别的函数中调用dll中的函数就可以了

就不会出现上述的错误了、

我要回帖

更多关于 VS2017运行程序 的文章

 

随机推荐