[VC++2015]: LNK __imp__fprintf && __imp____iob_func
От: UA Украина  
Дата: 22.12.15 17:22
Оценка:
При попытке прилинковать либу под VC++2015 выдает что:
error LNK2001: unresolved external symbol __imp__fprintf
error LNK2001: unresolved external symbol __imp____iob_func

Если самому попытаться объявить __iob_func таким образом:
extern "C" { FILE __iob_func[3] = { *stdin, *stdout, *stderr }; }

То выдает что:
error LNK2005: ___iob_func already defined


Что делать?

P.S. Под VC++2008 линкует без ошибок.
Re: [VC++2015]: LNK __imp__fprintf && __imp____iob_func
От: c-smile Канада http://terrainformatica.com
Дата: 22.12.15 18:35
Оценка:
Здравствуйте, UA, Вы писали:

UA>Что делать?

UA>P.S. Под VC++2008 линкует без ошибок.

Разные C runtimes. Компилируй приложение и библиотеку с одинковыми настройками runtime.

Блин, эта тема про runtimes такой тоскливый баян уж сколько лет ...
Re[2]: [VC++2015]: LNK __imp__fprintf && __imp____iob_func
От: UA Украина  
Дата: 22.12.15 18:39
Оценка:
UA>>Что делать?
UA>>P.S. Под VC++2008 линкует без ошибок.

CS>Разные C runtimes. Компилируй приложение и библиотеку с одинковыми настройками runtime.

CS>Блин, эта тема про runtimes такой тоскливый баян уж сколько лет ...

Настройки рантайм одинаковые для VC++2008 и VC++2015, но под VC++2015 не собирает.
Re[3]: [VC++2015]: LNK __imp__fprintf && __imp____iob_func
От: c-smile Канада http://terrainformatica.com
Дата: 22.12.15 19:36
Оценка:
Здравствуйте, UA, Вы писали:

UA>>>Что делать?

UA>>>P.S. Под VC++2008 линкует без ошибок.

CS>>Разные C runtimes. Компилируй приложение и библиотеку с одинковыми настройками runtime.

CS>>Блин, эта тема про runtimes такой тоскливый баян уж сколько лет ...

UA>Настройки рантайм одинаковые для VC++2008 и VC++2015, но под VC++2015 не собирает.


Тем не менее runtimes разные. __imp__..., например, означает что ты линкуешь C runtime как external dll в библиотеке.
И скорее всего библиотека собирается вообще другим toolset...
Re[3]: [VC++2015]: LNK __imp__fprintf && __imp____iob_func
От: UA Украина  
Дата: 22.12.15 19:40
Оценка:
UA>Настройки рантайм одинаковые для VC++2008 и VC++2015, но под VC++2015 не собирает.
Вопрос снят, либы были выключены из пересборки так как они практически никогда не меняются — поэтому подключались старые из VC++2008.
Отредактировано 22.12.2015 19:43 UA . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.