×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

HP UXB11.11下编译问题:1.如何check某个库(动态或静态)是基于32bit还是64bit的? 2.aCC是HP的编译器,如何设置让它按32bit或64bit方式编译连接? 3.基于32位的库和程序能否在64bit系统下使用?和64位的库能否混用连接?

我的环境是64位的,按道理缺省编译出来的objects都应该是64位。编译时我用+DA2.0N 选项来选择32bit,不知道对不对。

[root@Pender lib]# uname -a
HP-UX Pender B.11.11 U 9000/785 2016223922 unlimited-user license
[root@Pender lib]# getconf HW_CPU_SUPP_BITS
64
[root@Pender lib]# getconf KERNEL_BITS
64
[root@Pender lib]#

现在编译连接一个应用时,总报:
/usr/ccs/bin/ld: /usr/local/xxx/lib/libnspr4.sl: Mismatched ABI. 64-bit PA shared library found in 32-bit link.
make: *** [xxx.exe] Error 1

能换的库都换成32bit,不行,又都换成64bit,还不行。
谢谢!
Report

Replies, comments and Discussions:

  • 工作学习 / 专业技术讨论 / HP UXB11.11下编译问题:1.如何check某个库(动态或静态)是基于32bit还是64bit的? 2.aCC是HP的编译器,如何设置让它按32bit或64bit方式编译连接? 3.基于32位的库和程序能否在64bit系统下使用?和64位的库能否混用连接?
    我的环境是64位的,按道理缺省编译出来的objects都应该是64位。编译时我用+DA2.0N 选项来选择32bit,不知道对不对。

    [root@Pender lib]# uname -a
    HP-UX Pender B.11.11 U 9000/785 2016223922 unlimited-user license
    [root@Pender lib]# getconf HW_CPU_SUPP_BITS
    64
    [root@Pender lib]# getconf KERNEL_BITS
    64
    [root@Pender lib]#

    现在编译连接一个应用时,总报:
    /usr/ccs/bin/ld: /usr/local/xxx/lib/libnspr4.sl: Mismatched ABI. 64-bit PA shared library found in 32-bit link.
    make: *** [xxx.exe] Error 1

    能换的库都换成32bit,不行,又都换成64bit,还不行。
    谢谢!
    • 1:file <your_binary_file>
      • thanks a lot!