Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

линкер ругается

6.9K
09 июня 2005 года
RZ_RZ
53 / / 09.06.2005
Пишу прогу, ща все ок но как подключаю новый модуль (пара файлов *.h, *.cpp) для чтения *.jpg, линкер ругается нижеследующим матом:
Linking...
LIBCMTD.lib(_file.obj) : error LNK2005: ___initstdio already defined in LIBCD.lib(_file.obj)
LIBCMTD.lib(_file.obj) : error LNK2005: ___endstdio already defined in LIBCD.lib(_file.obj)
LIBCMTD.lib(_file.obj) : error LNK2005: __cflush already defined in LIBCD.lib(_file.obj)
LIBCMTD.lib(_file.obj) : error LNK2005: __iob already defined in LIBCD.lib(_file.obj)
LIBCMTD.lib(osfinfo.obj) : error LNK2005: __alloc_osfhnd already defined in LIBCD.lib(osfinfo.obj)
LIBCMTD.lib(osfinfo.obj) : error LNK2005: __set_osfhnd already defined in LIBCD.lib(osfinfo.obj)
LIBCMTD.lib(osfinfo.obj) : error LNK2005: __free_osfhnd already defined in LIBCD.lib(osfinfo.obj)
LIBCMTD.lib(osfinfo.obj) : error LNK2005: __get_osfhandle already defined in LIBCD.lib(osfinfo.obj)
LIBCMTD.lib(osfinfo.obj) : error LNK2005: __open_osfhandle already defined in LIBCD.lib(osfinfo.obj)
LINK : warning LNK4098: defaultlib "LIBCMTD" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/Engine3.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

Engine3.exe - 10 error(s), 2 warning(s)

Как с этим бороться?
425
09 июня 2005 года
sq_deep
498 / / 18.02.2005
Тут может быть несколько причин.

1. Какие-то объектные коды или библиотеки имеют разные режимы threading. Например, вы все делаете для single threading, но подключаете библиотеку (для чтения jpeg'ов), которая скомпилирована как mutithreaded.

2. В разных объектных модулях или библиотеках есть функции с одинаковыми именами.

Это наиболее вероятные причины. Есть ещё и другие. Если проблема останется, подумаем.


PS. Можно задавить эту ошибку с помощью опций линкера /NOD и /NOE, но работать тогда имеет право неустойчиво. Не советую.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог