The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Импорт Питона в прогу на Qt == segfault"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Импорт Питона в прогу на Qt == segfault"  
Сообщение от Gorynych (??) on 19-Июл-07, 10:08 
Добрый день!
Есть zip-архив с самописными модулями Питона.
Включение данного архива в прогу на Питоне проходит ОК
[file]
import sys
sys.path.insert(0, 'em_func.zip')
import em_func
em_func.sendMail()
[end file]

Если же этот архив импортировать в прогу на плюсах, то если к проге подлинкован Qt, то получаю SegmentationFault на импорте модуля.

[file]
  Py_SetProgramName(argv[0]);
  Py_Initialize();
  PySys_SetArgv(argc, argv);
  sys_path = PySys_GetObject("path");
  PyList_Insert(sys_path, 0, PyString_FromString("em_func.pzl"))
  zipimport = PyImport_ImportModule("em_func");
  Py_Finalize();
[end file]

g++ -c -I.  -I/usr/include/python2.4 -I/usr/lib/qt-3.3.3/include -DPROJECTNAME=\"em_func\" -DCONSOLE -o em_main.o em_main.cpp
g++ -L/usr/lib/qt-3.3.3/lib/ -o em_main -s -rdynamic -lpython2.4  -lqt-mt em_main.o em_client.o

При этом:
- если убрать -lqt-mt - все ОК;
- трап может зависеть от размера или содержимого zip-архива. Для примитивного модуля с
def sendmail():
  pass
импорт проходит без ошибки

Кто может подсказать, в какую сторну копать?
Спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Импорт Питона в прогу на Qt == segfault"  
Сообщение от vic (??) on 19-Июл-07, 16:32 
>Добрый день!
>Есть zip-архив с самописными модулями Питона.

Попробовать не самописные для сравнения?

>g++ -c -I.  -I/usr/include/python2.4 -I/usr/lib/qt-3.3.3/include -DPROJECTNAME=\"em_func\" -DCONSOLE -o em_main.o em_main.cpp
>g++ -L/usr/lib/qt-3.3.3/lib/ -o em_main -s -rdynamic -lpython2.4  -lqt-mt em_main.o em_client.o

-Wall пожалуйста не забывайте

>
>При этом:
>- если убрать -lqt-mt - все ОК;

попробовать без многопоточности (-lqt).

>- трап может зависеть от размера или содержимого zip-архива. Для примитивного модуля

>def sendmail():
>  pass
>импорт проходит без ошибки

Видимо в данном случае не юзается, то что вызывает падение.

>Кто может подсказать, в какую сторну копать?

Куда копать не скажу, но то что порыть qt-форумы - точно надо :) да и у самих троллей доку почитать..


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру