环境:这两天负责把QT的部分窗口剥离出来,生成一个DLL库,供JAVA JNI调用,一开始经常出现这个错,后来终于有了个人的一些认识
工具:QT,VC2005
一开始有一个基本的QT工程,通过qmake -t vcapp生成了VC的工程
错误内容:error LNK2019: 无法解析的外部符号;error LNK2001: 无法解析的外部符号:;
error LNK2001: unresolved external;error LNK2019: 未解決の外部シンボル
初步排错,确认VC里链接里 设定的依赖文件是否都指定全了
其次,由于不断的往VC工程里追加.h,.cpp文件,而工程文件的属性里没有,结果导致了中间的 /moc xxxx /文件没有生成,最后导致了上述的错误,
对此,需要在QT的工程文件 .pro文件里的SOURCES,HEADERS,FORMS 里予以追加,并重新用qmake -t vcapp生成VC工程,即可解决。
但是,每次重新生成都会清除之前设置的VC工程属性,所以需要再次设定。