在编译 JXTA-C 的时候发现一个有趣的现象,就是老是出现 LNK2005 错误
Linking...
MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: __errno already defined in LIBCMTD.LIB(dosmap.obj)
MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: _free already defined in LIBCMTD.LIB(dbgheap.obj)
MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: _realloc already defined in LIBCMTD.LIB(dbgheap.obj)
MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: _malloc already defined in LIBCMTD.LIB(dbgheap.obj)
MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: _memmove already defined in LIBCMTD.LIB(memmove.obj)
但是仔细查看了所用的链接库又都没有问题,没办法,只好一个库一个库的找,后来发现原来是MSVCRTD.LIB LIBCMTD.LIB 这两个库的先后顺序导致的问题,正确的顺序应该是
MSVCRTD.LIB LIBCMTD.LIB 而不是 LIBCMTD.LIB MSVCRTD.LIB
不知道什么原因???