| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > not a valid win32 application, проблемный kernel32 |
| Автор: neosapient 26.9.2013, 10:30 |
| Здравствуйте. Есть программа, которая успешно прошла тестирование под win7 и на сервере под управлением win2008. При переносе проекта на сервер под управлением win2003 программа перестала запускаться. При старте вываливается ошибка "not a valid win32 application". Программа собрана под x86 семейство процессоров; сервер win2003 64-разрядный, и по логике, должен был нормально определить версию программы. Решил посмотреть зависимости от dll'ек и ужаснулся, ведь несовместимой оказалась kernel32.dll. ![]() Как я понял, не были найдены функции CloseThreadpoolWait, CloseThreadpoolTimer, CompareStringEx. Проблема в том, что впрямую я их не вызываю: 1) Пользуюсь libcurl - но ввиде подгружаемой dll; Но проблема не в ней (по скриншету видно), а в программе. 2) Пользуюсь std::thread и std::mutex, возможно в коде этих компонентов скрыт вызов трех недостающих функций? 3) Пользуюсь VC11, возможно студия добавляет зависимость от трех недостающий функций (мало вероятно, но всё же)? Как в проекте под VC сделать поиск функции, если она явно не входит в проект? Как отследить цепочку вызовов? И, как вопрошал Чернышевский, что делать? |
| Автор: akizelokro 26.9.2013, 10:46 |
| Первый стандартный вопрос, а версии библиотек для v11 добавлены на сервер? |
| Автор: Amp 26.9.2013, 10:49 |
| Возможно в этом дело: "Visual Studio 2012 does not support Windows XP and Windows Server 2003 development. You must install Visual Studio 2012 Update 1 to add support for Windows XP and Windows Server 2003." (http://msdn.microsoft.com/en-us/library/vstudio/ws0swas0.aspx) |
| Автор: neosapient 26.9.2013, 11:18 | ||||
Если Вы о Runtime библиотеках (msvcp110 и msvcr110), то проект собирается с галочкой Multi-threaded (/MT)
Ок, начал обновление студии до версии VS2012.SP3 О результатах отпишусь позже |
| Автор: vinter 26.9.2013, 11:19 |
| помимо установки обновления необходимо будет в настройках проекта сменить тулчайн на что_то_там_XP |
| Автор: neosapient 26.9.2013, 14:35 | ||||||||
Да, обновление помогло! Спасибо! + за точное диагностирование проблемы. Добавлено @ 14:37
Да, сразу бросилось в глаза "Visual Studio 2012 - Windows XP (v110_xp)" Спасибо. Добавлено @ 14:38
У меня просто консольное приложение. |