询问者
匪夷所思的"error LNK1181"

问题
-
各位好!
将一个正常的动态链接库项目由vc9升级到vc10,在编译时,遇到了一个奇怪的LNK1181错误。
假如这个项目名称为MyProject,它在编译时居然要将"MyProject.lib"作为附加的依赖项,于是LNK1181错误就这样产生了。
但是,我在工程属性中,并未将"MyProject.lib"作为附加的依赖项,而且找遍了linker的其它设置,也未发现存在"MyProject.lib"的设置。无奈下,将MyProject.vcxproj用记事本打开,全文搜索"MyProject.lib",也没有任何发现。
然而,Linker的命令行中,/DLL 后面确实存在这个"MyProject.lib"。
哪位知道原因啊,在此首先谢过!!!
------
补充一下:在项目属性中,也没有找到任何包含"MyProject.lib"名称的宏。
全部回复
-
你好!
你项目中有没有循环引用?例如项目A引用项目B,项目B引用项目A。
Linker命令行中,/DLL 开关是指明输出的,与LNK1181的错误无关。
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us. -
Nancy Shao, 你好!
我没有说/DLL 开关与LNK1181的错误有关。可能我描述的还不够清楚,LNK1181是因为这个项目要引用自身的lib,奇怪就奇怪在这里了。因为要附加的依赖项都会在项目属性->Linker->Input->Additional Dependencies中列出,而我根本没有找到这个lib文件,只是在项目属性->Linker->Command Line中看到确实存在这个lib文件。
这个问题在提出后不久就解决了,方法是使用VS2010新建一个空项目,将原项目的文件移植过去重新编译,一切正常。只是升级出现的这个问题一直没有找到原因。