Russian Qt Forum
Ноябрь 24, 2024, 17:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: InterLockedCompareExchange@12 и .NET Framework  (Прочитано 7185 раз)
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« : Сентябрь 16, 2014, 18:12 »

Коллеги,
два вопроса по установке приложений.

Почему Qt 5.3.1 open source содержит libstdc++-6.dll от 07.03.2014, программа установленная с этой версией дает ошибку "Точка входа в процедуру InterLockedCompareExchange@12 не найдена в библиотеке DLL libstdc++-6.dll"? А в предыдущих версиях libstdc++-6.dll имеет дату 17.04.2013 и с ней программа работает.

И еще один вопрос - опытным путем определил, что для работы моей программы, собранной с Qt 5.3.1 требуется в WinXP SP2 .NET Framework 3.5. Та же самая программа, собранная в 5.1 работает без проблем с .NET 3.0.
Я не встречал такого требования в документации. Неужели что-нибудь пропустил?
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Сентябрь 16, 2014, 18:33 »

NET framework ни при чём, скорее всего нужен MSVC redistributable. "Точка входа в процедуру InterLockedCompareExchange@12 не найдена в библиотеке DLL libstdc++-6.dll" - это известный баг MinGW, лечится только подсовыванием правильной DLL, где этот символ есть, либо перекомпиляцией.
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #2 : Сентябрь 16, 2014, 19:43 »

NET framework ни при чём, скорее всего нужен MSVC redistributable.
Попробовал с MVC 2012 Redistributable Package, не работает.

...это известный баг MinGW, лечится только подсовыванием правильной DLL, где этот символ есть, либо перекомпиляцией.
Перекомпиляцией Qt?
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Сентябрь 16, 2014, 19:50 »

Перекомпиляцией Qt?

Перекомпиляцией проекта. Под ту версию Qt/MinGW которая установлена на целевой машине. Либо таскать все DLL с собой, и именно те DLL, напротив которых была компиляция.
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #4 : Сентябрь 17, 2014, 14:49 »

Либо таскать все DLL с собой, и именно те DLL, напротив которых была компиляция.
Я так и делаю.
Весь фокус в том, что программа не хочет работать с библиотеками, с которыми она компилировалась, и, сделанная в версии 5.3.1, прекрасно работает с библиотеками предыдущей версии, 5.1.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Сентябрь 17, 2014, 15:11 »

Я так и делаю.
Весь фокус в том, что программа не хочет работать с библиотеками, с которыми она компилировалась, и, сделанная в версии 5.3.1, прекрасно работает с библиотеками предыдущей версии, 5.1.

Приложи сюда пример со всеми DLL как ты копируешь на другой компьютер, в программе достаточно одного main() безо всякой логики.
Записан
Bepec
Гость
« Ответ #6 : Сентябрь 17, 2014, 15:14 »

А у меня такое чуйство что у тебя стоит две версии Qt. Просто пути прописаны к первой, с ней и компилируется. А длл ты поток копируешь из второй Улыбающийся
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #7 : Сентябрь 19, 2014, 17:53 »

Приложи сюда пример со всеми DLL как ты копируешь на другой компьютер, в программе достаточно одного main() безо всякой логики.
Пожалуйста: https://www.dropbox.com/s/b6pbtftrrd39cwk/UfebsGen-exe_133.rar?dl=0
Здесь либы от 5.3.1, а libstdc++-6.dll от 5.2 (17.04.2013). Положите вместо нее библиотеку от 5.3.1 (07.03.2013), и, может быть, увидите. Только .net должен быть не выше 3.0.
Если будете экспериментировать с установкой/удалением .net, не забудьте перезагружаться Подмигивающий И свой каталог Qt переименуйте.

А у меня такое чуйство что у тебя стоит две версии Qt. Просто пути прописаны к первой, с ней и компилируется. А длл ты поток копируешь из второй Улыбающийся
Нет. Всегда использую только одну версию.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #8 : Сентябрь 19, 2014, 18:07 »

Пожалуйста: https://www.dropbox.com/s/b6pbtftrrd39cwk/UfebsGen-exe_133.rar?dl=0
Здесь либы от 5.3.1, а libstdc++-6.dll от 5.2 (17.04.2013). Положите вместо нее библиотеку от 5.3.1 (07.03.2013), и, может быть, увидите.

Ссылка на этот символ присутствует в python27.dll и PythonQt.dll, что говорит о том, что они собраны более старой версией MinGW (а конкретно 4.8.0). Решением, как я и говорил, будет пересборка всего одной версией MinGW.
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #9 : Сентябрь 19, 2014, 19:40 »

Ссылка на этот символ присутствует в python27.dll и PythonQt.dll, что говорит о том, что они собраны более старой версией MinGW (а конкретно 4.8.0). Решением, как я и говорил, будет пересборка всего одной версией MinGW.
Мдаа. Ведь пересобирал, а положить забыл. Спасибо!
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 23.