• 7072阅读
  • 1回复

[提问](已解决)Qt4.7.2 静态编译完成后,运行程序出现如下的链接错误,请问是什么原因? [复制链接]

上一主题 下一主题
离线robertkun
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-21

编译方法:
configure -opensource -developer-build -platform win32-msvc2008 ^
-static -release -fast -no-qt3support ^
-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg ^
-no-phonon -no-webkit -nomake examples -nomake docs -nomake demos


Qt4.7.2 静态编译完成后,编译程序出现如下的链接错误,请问是什么原因?


我编译的是Debug版本,没有编译静态库之前是可以用的。
  1. 1>Linking...
  2. 1>QtCored4.lib(QtCored4.dll) : error LNK2005: "public: __thiscall QString::~QString(void)" (??1QString@@QAE@XZ) already defined in testa.obj
  3. 1>QtCored4.lib(QtCored4.dll) : error LNK2005: "public: bool __thiscall QBasicAtomicInt::deref(void)" (?deref@QBasicAtomicInt@@QAE_NXZ) already defined in testa.obj
  4. 1>moc_testa.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const QWidget::staticMetaObject" (?staticMetaObject@QWidget@@2UQMetaObject@@B)
  5. 1>G:\Qt-test\testa\Debug\testa.exe : fatal error LNK1120: 1 unresolved externals
  6. 1>Build log was saved at "file://G:\Qt-test\testa\Debug\BuildLog.htm"
  7. 1>testa - 4 error(s), 0 warning(s)
  8. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========







                                              简单的生活使人快乐!
离线robertkun

只看该作者 1楼 发表于: 2011-06-21
自已重新qmake ..nmake  一下好了。
原因貌似是。。编译静态版本的时候这个工程没有关闭。具体原因不明呀。。。。。。。。。。。。。。。。。。。。。。。。。。。
                                              简单的生活使人快乐!
快速回复
限100 字节
 
上一个 下一个