![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| neosapient |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Здравствуйте.
Есть программа, которая успешно прошла тестирование под 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 сделать поиск функции, если она явно не входит в проект? Как отследить цепочку вызовов? И, как вопрошал Чернышевский, что делать? Это сообщение отредактировал(а) neosapient - 26.9.2013, 10:36 |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Первый стандартный вопрос, а версии библиотек для v11 добавлены на сервер?
-------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 3 Всего: 17 |
Возможно в этом дело: "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 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Если Вы о Runtime библиотеках (msvcp110 и msvcr110), то проект собирается с галочкой Multi-threaded (/MT)
Ок, начал обновление студии до версии VS2012.SP3 О результатах отпишусь позже |
||||
|
|||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
помимо установки обновления необходимо будет в настройках проекта сменить тулчайн на что_то_там_XP
|
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Здесь вопрос о том, что (я так понял, у вас MFC или Win32 проект) у вас не статическое подключение библиотек и либы v11 вы точно не копировали на сервер, но пробуете к ним обращаться. Это сообщение отредактировал(а) akizelokro - 26.9.2013, 11:44 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| neosapient |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 16.8.2006 Репутация: нет Всего: 4 |
Да, обновление помогло! Спасибо! + за точное диагностирование проблемы. Добавлено @ 14:37
Да, сразу бросилось в глаза "Visual Studio 2012 - Windows XP (v110_xp)" Спасибо. Добавлено @ 14:38 У меня просто консольное приложение. Это сообщение отредактировал(а) neosapient - 26.9.2013, 14:38 |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |