关于.Pro文件中引入源文件的不同写法,导致QMake无法生成正确的Makefile文件的错误

缘起

今天用Qt Creator 3.4.1 打开一个很老的工程,还是QT 4.5.2的,VS2008版本编辑的;没有语法错误,却在链接时提示"LNK2019: 无法解析的外部符号 "public: static class Log * __cdecl Log::instance(void)" (?instance@Log@@SAPAV1@XZ),该符号在函数 _main 中被引用"的错误。


在main.cpp中能够include头文件,在Qt Creator中使用快捷键F2也能够跳转到该类的函数定义中去。百思不得其解。


结果

原来是.Pro文件中的写法不同导致的。先上链接不通过的.Pro文件部分截图

关于.Pro文件中引入源文件的不同写法,导致QMake无法生成正确的Makefile文件的错误_第1张图片

这里企图用通配符的方式将该文件夹下的源文件加入工程;这本身没有什么问题,QT Creator的工程树中也能够索引config文件夹中的文件,但是QMake生成Makefile.Debug中出现了这么个玩意儿

关于.Pro文件中引入源文件的不同写法,导致QMake无法生成正确的Makefile文件的错误_第2张图片

                                                        

然后我就觉得QT Creator找的到该文件,QMake找不到;就得改,让它找到,截图如下:

关于.Pro文件中引入源文件的不同写法,导致QMake无法生成正确的Makefile文件的错误_第3张图片

然后就得到了我们需要的Makefile.Debug文件:

关于.Pro文件中引入源文件的不同写法,导致QMake无法生成正确的Makefile文件的错误_第4张图片



我对QMake学习的很少,也不知道什么原因,既然发现了这个现象,就记一下,欢迎批评指正啊!!!!

你可能感兴趣的:(qt,qmake)