使用Ubuntu 10.04。
我正在测试其中一个gSOAP示例(calcclient)作为静态链接的可执行文件。它运作正常。 后来我拆分了模块,所以他们中的一些进入了一个共享库(我将其复制到/ usr / local / lib)。然后将主模块编译为独立的dinamically链接二进制文件。 一切似乎都没问题,ldd输出是
linux-vdso.so.1 => (0x00007fff66fff000)
libgsoapcalcclient.so => /usr/local/lib/libgsoapcalcclient.so (0x00007f7a59d35000)
libc.so.6 => /lib/libc.so.6 (0x00007f7a59986000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7a5a177000)
这是预料之中的。 但是当我尝试执行二进制文件时,它会因分段错误而停止。 我该怎么做才能解决这个问题?
答案 0 :(得分:1)
编译启用调试信息并确定发生段错误的位置是一个好的起点。
答案 1 :(得分:0)
我不确切知道为什么(需要仔细阅读生成的makefile)但是在我在CodeLite上构建项目后,应用程序编译并运行时没有错误。 这不是我第一次在这里问一些问题并完成回答我的问题。