我尝试在hp-ux上使用gcc编译器创建一个共享库。我使用这些命令:
所有内容都在没有警告或错误的情况下编译,但是当我尝试使用该库时,我收到错误:
错误:扩展加载失败:操作系统错误:-1(' path_to_lib '不是有效的加载模块:错误的幻数)。 错误:无法加载扩展名:( path_to_lib ) 错误:扩展加载失败:操作系统错误:-1(' path_to_lib '不是有效的加载模块:错误的幻数)
你知道这个错误究竟意味着什么吗?如何解决?
编辑: 我在SAS程序中使用我的共享库,如下所示:
proc proto package =work.myfuncs.tests;
link "/home/my_library.so";
int test(int x);
run;
答案 0 :(得分:0)
我终于解决了我的问题。我不得不使用gcc选项-mlp64
将库创建为64位库,因为SAS软件是64位。但是,我仍然不知道为什么proc proto
在LINUX上正常工作,因为SAS软件也是64b。也许它在这两种环境中也有不同的gcc instalations。