Проблемы с линковкой в icl 8.1
От: borech Россия  
Дата: 17.04.05 20:03
Оценка:
Привет! У меня возникла следующая проблема:

При компиляции кода с использованием самой свежей версии 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 ничего подобного нет. Все гладко.
У всех проектов выставлены опции:

/G6 /MDd /W3 /Gm /GX /Zi /Od /I "..\Include\Stlport" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_WINDLL" /D "_AFXDLL"
“use MFC a Shared DLL”

Я использую библиотеку Stlport 4.6.2 (в т.ч. streamы) и boost. Причем Stlport в откомпилированном виде. При этом используется stlport_icl.lib, а в stl_configure.h никакие макросы не определены.

В форуме видел предложение проверить настройки проектов и stlport на совместимость, но тут вроде все соответствует. А использование опции /NODEFAULTLIB: msvcrt.lib приводит к появлению проблем в MSVC.

Может кто-нибудь знает, в чем проблема? Буду премного благодарен…
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.