写了个测试程序来测试人工写的strcpy函数,就那么几行代码,没想到一运行竟然出现了link错误:
libcd.lib(strcat.obj) : error LNK2005: _strcpy already defined in Cpp1.obj
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/Cpp1.exe : fatal error LNK1120: 2 unresolved externals
解决办法:
1. 把程序中strcpy的名字改下。error LNK2005 表明strcpy已经定义,这才想起strcpy是库函数,在程序中把strcpy改成strCPY,再运行就没有出现error LNK2005了
2.在vc的【工程】--设置--常规--Microsoft基础类 的下拉框里选择【使用MFC作为共享的DLL】,再运行通过。原因是:测试程序中使用了mfc的宏,只是添加了afx.h,而没有设置库文件。