Я сделал рабочую программу, которая генерировала изображение с заданной строкой. Он полностью работает с моим 32-битным дистрибутивом Slackware и другими 32-битными дистрибутивами.
Теперь мне нужно реализовать его на клиентской машине, которая представляет собой AIX powerpc. Он скомпилирован без каких-либо проблем и, похоже, работает (все остальные функции работают и дают правильные результаты), за исключением случаев, когда я вызываю эти две функции «QRcode_encodeString» и «QRcode_encodeData». Это продолжает давать мне ошибку сегментации.
Вы можете предположить, что моя единственная строка main() - это вызов функции:
#include <stdio.h>
#include <qrencode.h>
int main(void)
{
QRcode* pQRC = QRcode_encodeString("abc", 0, QR_ECLEVEL_L, QR_MODE_8, 0);
return 0;
}
У меня нет gdb на клиентской машине и нет привилегий root. Он работает с «QRcode_encodeStringMQR()», который генерирует микро QR-код, но это не решение для меня. Он создает файл дампа с именем «ядро», который я не могу использовать, поскольку на этой машине нет gdb... И я предполагаю, что не могу открыть его на другой машине, поскольку они не разделяют такая же архитектура. Я вообще понятия не имею, как решить эту проблему...
Опять же, этот код работает в моем дистрибутиве Slackware.
К сожалению, мои знания о powerpc и AIX ограничены только этим опытом.
Я забыл упомянуть, что доступен только cc, и я компилирую так:
cc qrgen.c -lqrencode -L/usr/local/lib -I/usr/local/include
dbx
, что эквивалентноgdb
. Я думаю, что appropos работает, поэтому попробуйте поискать dbx или debug. Удачи. - person shellter   schedule 18.03.2015