При компиляции кода с использованием самой свежей версии Intel C++ 8.1, возникают ошибки:
xilink6: executing 'D:\PROGRA~1\MICROS~3\VC98\Bin\link.exe'
libcmt.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in msvcrt.lib(cinitexe.obj)
libcmt.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in msvcrt.lib(cinitexe.obj)
libcmt.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in msvcrt.lib(cinitexe.obj)
libcmt.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in msvcrt.lib(cinitexe.obj)
Creating library ..\Output/PLI2.lib and object ..\Output/PLI2.exp
LINK : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "nafxcw.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
libcmt.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
E:\NightBuilder\Test\Bin\PLI2.dll : fatal error LNK1120: 1 unresolved externals
Error executing xilink6.exe.
Причем в MSVC6.0 ничего подобного нет. Все гладко.
У всех проектов выставлены опции:
Я использую библиотеку Stlport 4.6.2 (в т.ч. streamы) и boost. Причем Stlport в откомпилированном виде. При этом используется stlport_icl.lib, а в stl_configure.h никакие макросы не определены.
В форуме видел предложение проверить настройки проектов и stlport на совместимость, но тут вроде все соответствует. А использование опции /NODEFAULTLIB: msvcrt.lib приводит к появлению проблем в MSVC.
Может кто-нибудь знает, в чем проблема? Буду премного благодарен…