• 5452阅读
  • 4回复

qt4 中 程序在VC中编译时的Link错误——新手提问 [复制链接]

上一主题 下一主题
离线fat64
 
只看楼主 倒序阅读 楼主  发表于: 2006-10-24
程序如下:

......
#include <qgb18030codec.h>
......
int main( int argc, char** argv )
{

   setlocale(LC_ALL, "");
   
   QGb18030Codec codec;
   QTextCodec::setCodecForLocale(&codec);        
   QTextCodec::setCodecForTr(&codec);            
   QTextCodec::setCodecForCStrings(&codec);    
   /////////////////////////
   // 创建 application,主窗口
   QApplication* app = new QApplication(argc, argv);
    ..............
}

错误提示 :
main.obj : error LNK2001: unresolved external symbol "public: __thiscall QGb18030Codec::QGb18030Codec(void)" (??0QGb18030Codec@@QAE@XZ)
..\..\..\bin/esconsole.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
esconsole.exe - 2 error(s), 0 warning(s)

我想了很久都不知道这是什么原因造成的

谢谢花时间看我帖子的各位朋友!!!!!!
离线XChinux

只看该作者 1楼 发表于: 2006-10-25
QGb18030Codec 是以插件的形式提供的,看错误提示是链接时发生错误,是不是由于你的找不到你的这个插件库的原因?
在plugins/codecs目录下面
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线fat64
只看该作者 2楼 发表于: 2006-10-25
谢谢XChinux的回答

这个类是在src/plugins/codecs/cn下的,它的.pro文件中
TARGET = qcncodecs

DESTDIR = $$QT_BUILD_TREE/plugins/codecs


我在VC中的Project /Settings/Link中加了,"$(QTDIR)\plugins\codecs\qcncodecs.lib"

它应该能找到呀!
离线cauc_dg
只看该作者 3楼 发表于: 2006-10-28
最好还是别用VC....
每天进步一点点
离线fat64
只看该作者 4楼 发表于: 2006-11-15
找到解决办法了,这是qt3与qt4的不同,这样写就可以了


   QTextCodec *codec = QTextCodec::codecForName("GB18030");      QTextCodec::setCodecForLocale(codec);    QTextCodec::setCodecForTr(codec);                QTextCodec::setCodecForCStrings(codec);    
快速回复
限100 字节
 
上一个 下一个