• 14407阅读
  • 14回复

VS2008QT4.4.2的链接出错的问题 [复制链接]

上一主题 下一主题
离线www1862
 

只看楼主 正序阅读 楼主  发表于: 2008-09-22
— 本帖被 XChinux 执行加亮操作(2008-09-22) —
能编译通过,可是链接的时候出错正在链接...
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: class QScriptValue __thiscall QScriptEngine::newQObject(class QObject *,enum QScriptEngine::ValueOwnership,class QFlags<enum QScriptEngine::QObjectWrapOption> const &)" (__imp_?newQObject@QScriptEngine@@QAE?AVQScriptValue@@PAVQObject@@W4ValueOwnership@1@ABV?$QFlags@W4QObjectWrapOption@QScriptEngine@@@@@Z)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: class QScriptValue __thiscall QScriptEngine::evaluate(class QString const &,class QString const &,int)" (__imp_?evaluate@QScriptEngine@@QAE?AVQScriptValue@@ABVQString@@0H@Z)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: class QScriptValue __thiscall QScriptEngine::globalObject(void)const " (__imp_?globalObject@QScriptEngine@@QBE?AVQScriptValue@@XZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QScriptEngine::~QScriptEngine(void)" (__imp_??1QScriptEngine@@UAE@XZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QScriptEngine::QScriptEngine(void)" (__imp_??0QScriptEngine@@QAE@XZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static int __cdecl QApplication::exec(void)" (__imp_?exec@QApplication@@SAHXZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QApplication::~QApplication(void)" (__imp_??1QApplication@@UAE@XZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QApplication::QApplication(int &,char * *,int)" (__imp_??0QApplication@@QAE@AAHPAPADH@Z)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QScriptValue::setProperty(class QString const &,class QScriptValue const &,class QFlags<enum QScriptValue::PropertyFlag> const &)" (__imp_?setProperty@QScriptValue@@QAEXABVQString@@ABV1@ABV?$QFlags@W4PropertyFlag@QScriptValue@@@@@Z)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QScriptValue::~QScriptValue(void)" (__imp_??1QScriptValue@@QAE@XZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QPushButton::~QPushButton(void)" (__imp_??1QPushButton@@UAE@XZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QPushButton::QPushButton(class QWidget *)" (__imp_??0QPushButton@@QAE@PAVQWidget@@@Z)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) private: static struct QString::Data QString::shared_null" (__imp_?shared_null@QString@@0UData@1@A)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QString::~QString(void)" (__imp_??1QString@@QAE@XZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QString::QString(void)" (__imp_??0QString@@QAE@XZ)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QString::QString(char const *)" (__imp_??0QString@@QAE@PBD@Z)
main.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QBasicAtomicInt::ref(void)" (__imp_?ref@QBasicAtomicInt@@QAE_NXZ)
C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\pr\Release\pr.exe : fatal error LNK1120: 17 个无法解析的外部命令

环境变量都设置了.高手来啊.
离线weaver2007

只看该作者 14楼 发表于: 2014-05-06
最近遇到了这个问题,环境是VC2008 + Qt4.8.5。

解决方案:项目-属性-链接器-输入-附加依赖项
把其中的QtCored4.lib、QtGuid4.lib…… 改成QtCored.lib、QtGuid.lib……就好了。
就是Qt库名称中带 4 的,都把4去掉,就好了。
供参考,对我遇到的情况有用,不知道对各位遇到的情况是否有用。呵呵

离线magicrabit
只看该作者 13楼 发表于: 2008-12-24
我也遇到了类似的问题,不知道该怎么办
http://www.qtcn.org/bbs/read.php?tid=14849&page=e&#a
我的是2005。
离线www1862

只看该作者 12楼 发表于: 2008-10-19
你的vs2008打了sp1吗?我的是没有打才出的问题,打了后就好了.
离线70780533

只看该作者 11楼 发表于: 2008-10-18
我也碰到了这个问题,望高手解答!!
离线www1862

只看该作者 10楼 发表于: 2008-09-25
解决了,确实是链接不到Lib,为什么啊,我明明设置了路径的啊.现在的问题是运行程序还是会找不到dll.
离线www1862

只看该作者 9楼 发表于: 2008-09-25
我用了坛子里的兄弟编译好的,错误减少到8个了.不知道哪里还有问题.


main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QScriptEngine::~QScriptEngine(void)" (__imp_??1QScriptEngine@@UAE@XZ),该符号在函数 _main 中被引用
main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QScriptValue __thiscall QScriptEngine::evaluate(class QString const &,class QString const &,int)" (__imp_?evaluate@QScriptEngine@@QAE?AVQScriptValue@@ABVQString@@0H@Z),该符号在函数 _main 中被引用
main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QScriptValue::~QScriptValue(void)" (__imp_??1QScriptValue@@QAE@XZ),该符号在函数 _main 中被引用
main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QScriptValue::setProperty(class QString const &,class QScriptValue const &,class QFlags<enum QScriptValue::PropertyFlag> const &)" (__imp_?setProperty@QScriptValue@@QAEXABVQString@@ABV1@ABV?$QFlags@W4PropertyFlag@QScriptValue@@@@@Z),该符号在函数 _main 中被引用
main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QScriptValue __thiscall QScriptEngine::globalObject(void)const " (__imp_?globalObject@QScriptEngine@@QBE?AVQScriptValue@@XZ),该符号在函数 _main 中被引用
main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QScriptValue __thiscall QScriptEngine::newQObject(class QObject *,enum QScriptEngine::ValueOwnership,class QFlags<enum QScriptEngine::QObjectWrapOption> const &)" (__imp_?newQObject@QScriptEngine@@QAE?AVQScriptValue@@PAVQObject@@W4ValueOwnership@1@ABV?$QFlags@W4QObjectWrapOption@QScriptEngine@@@@@Z),该符号在函数 _main 中被引用
离线www1862

只看该作者 8楼 发表于: 2008-09-25
0\VC\BIN\nmake.exe"”: 返回代码“0x2”
Stop.
[ 此贴被www1862在2008-09-25 20:09重新编辑 ]
离线破烂石头
只看该作者 7楼 发表于: 2008-09-24
试着这样做一下,打开vs command prompt,让path可以找到qmake
qmake -project
qmake
nmake
离线www1862

只看该作者 6楼 发表于: 2008-09-24
楼上的我按你说的做了还是不行,是qtcored4.lib qtguid4.lib.
离线破烂石头
只看该作者 5楼 发表于: 2008-09-23
project->properties->linker->input->
general->Additional Library Directories  $(QTDIR)\lib
->input-> additional dependencies  qtcore4.lib qtgui4.lib ......(debug的是qtcore4d.lib qtgui4d.lib,)
离线破烂石头
只看该作者 4楼 发表于: 2008-09-23
debug 和release版有没有弄混?
debug版的qtgui4d.dll, qtgui4d.lib
release没有d
应该是库没找到,如果是编译问题的话,moc,uic之类的工具也会跑不起来的。
离线www1862

只看该作者 3楼 发表于: 2008-09-23
设置了的哦,是不是编译的时候有问题啊?
离线破烂石头
只看该作者 2楼 发表于: 2008-09-22
好像是所有的库都没找到。。。
在工程属性里面要设置需要链接的库
离线XChinux

只看该作者 1楼 发表于: 2008-09-22
.pro中有没有加
QT += script
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个