链接错误,LNK:2001 unresolved external symbol ...
我由一个源文件包,编译生成了一个lib文件
然后再另外一个工程中引用此lib文件
编译可以通过,连接时出现系列LNK:2001错误
但是错误中所提高的unresolved external symbol *** 明明在lib文件中均有定义
请问如何解决,可能使那里问题?
多谢
问题点数:30、回复次数:9Top
1 楼idler(告别teenage)(偶是豆子。。。)(歇业休息。。。)回复于 2002-05-07 16:43:24 得分 4
菜单:Project->Settings
选择Link页,Category选择General,看Object/library modules中有没有你的lib文件。如果没有应该加上去。Top
2 楼xuying()回复于 2002-05-07 16:44:57 得分 4
你的lib文件是否是c语言写的?cpp编译器会对函数重新命名。如果lib中的库函数是c写的,就会找不到。
可以将库中函数的声明前加上extern "C"
或者将你写的.cpp文件改名为.c文件,vc会自动调用c编译器。Top
3 楼pcman1990(pcman)回复于 2002-05-07 16:45:58 得分 4
光你说的这些看不出什么问题。是不是那个lib放的路径有问题?Top
4 楼xuying()回复于 2002-05-07 17:00:13 得分 4
如果你的库是c语言写的,你的应用程序是.cpp的,你需要重新声明库函数:
extern “C”, 或者将你的.cpp程序改名为.c,vc会自动调用c编译器。Top
5 楼mumu_yulin(linest)回复于 2002-05-07 17:02:43 得分 4
agree with idlerTop
6 楼KissYou(宇宙顾问)回复于 2002-05-07 17:03:58 得分 4
你至少应把编译形成的库文件拷贝一份放到当前工程的根目录中!(.dll和.lib文件)如果再出现其它问题,可能是你的动态库定义的问题了!Top
7 楼cqtine(河沙)回复于 2002-05-07 17:07:42 得分 3
同意xuying() and idler
Top
8 楼yz95(yz95)回复于 2002-05-07 17:30:14 得分 3
要把LIB放在你的源文件一起的目录下
试试Top
9 楼hyman(新新人)回复于 2002-05-07 17:50:24 得分 0
多谢各位了,问题解决了
方法比较奇怪,我在工程中增加了对wsock32.lib的引用,原来的问题就不复存在了Top
10 楼hyman(新新人)回复于 2002-05-07 17:51:27 得分 0
多谢各位了,问题解决了
方法比较奇怪,我在工程中增加了对wsock32.lib的引用,原来的问题就不复存在了
给得分大家分了吧。前面的几位多一点。Top
相关问题
- ObjectARX 2000 错误 unresolved external symbol
- Unresolved external symbol referenced from module错误?
- DLL 编译错误:unresolved external symbol _main
- 请问unresolved external symbol是什么错误?
- unresolved external symbol 错误如何解决?
- 为什么出现这个错误:unresolved external symbol __imp__WSACleanup@0
- 求解LINK错误:rnrcs.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
- Vc中神奇的错误!error LNK2001: unresolved external symbol __imp__UuidToStringA@8
- unresolved external symbol _main 错误该怎么解决?
- LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16是什么错误?




