我以前做了这个question ,并根据我得到的响应在隧道尽头点亮了灯。但是,既然我找到了问题,我还是不明白。我没有root priv。每当我运行程序时,我都会遇到分段错误和核心文件。当我用dbx分析它时,我得到了

reading symbolic information ...

Segmentation fault in QRspec_newFrame at line 546 in file "" ($t1)
couldn't read "qrspec.c"


如果该文件包含在生成库的过程中,他怎么找不到qrspec.c? (我没有参与该过程,所以我不知道它是否100%完成,但我将所有文件都提供给.tar)。该文件也属于libqrencode。

编译:

xlc_r7 -g qrgen.c -lqrencode -L/usr/local/lib -I/usr/local/include


我开始相信它找不到文件,因为/ usr / local / lib文件夹中缺少.so符号链接。可以吗? (其中只有.a,.la和.so.3)

我认为我的问题与此one类似,但除非是真正的问题,否则我无法再次安装该lib。

机器:Unix AIX powerpc型号:IBM,9117-MMB
xlc版本:12.01.0000.0000

最佳答案

我猜您需要告诉dbx在哪里可以找到源文件

来自man dbx
       -I目录
            (大写i)在搜索源文件的目录列表中包括由Directory变量指定的目录。默认值为在以下目录中查找源文件:
              *源文件在编译时所在的目录。仅当编译器将源路径放在对象中时,才搜索此目录。
              *当前目录。
              *程序当前所在的目录。

关于c - libqrencode-段错误无法读取“qrspec.c”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29126055/

10-11 22:05