aix上编译问题

琴乐音 2009-09-15 10:01:05
aix上用makefile与linux有什么不同, 为什么我的makefile在linux上可以用,在aix确执行不了.
有人在aix上做过apache的mod开发么? 我在链接程序为so时出错, 看信息是不认识一些在httpd库中的方法, 这个库在windows下编译要加libhttpd参数, linux下加lhttpd加这个参数编译却找不到, 有在aix上做过的请指教!
...全文
154 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
琴乐音 2009-09-16
  • 打赏
  • 举报
回复
在lib下的库中, nm没有查到有这几个函数啊.
steptodream 2009-09-15
  • 打赏
  • 举报
回复
解决了就好 make gmake 呵呵
琴乐音 2009-09-15
  • 打赏
  • 举报
回复
gmake 是可以用的, 谢谢你的提示, makefile现在可以编译了, 现在链接时还是找不到ap_server_root_relative , ap_log_error, ap_get_brigade 这3个函数, 但我在linux上是没这个错误的, 是不是linux装过什么apache的开发包, 而aix上没有, 我知道现在应该就是差个库的编译参数,只是不知道是什么.
wxjeacen 2009-09-15
  • 打赏
  • 举报
回复
AIX一般是用xlC_r IBM自己的编译器,而且make 也分make 跟gmake

你check 一下gmake 可不可以用。
琴乐音 2009-09-15
  • 打赏
  • 举报
回复
g++ -shared -o test.so a.o b.o c.o -L/usr/local/apache2/lib -lapr-0 -laprutil-0 -lpthread -lpcre
ld: 0711-317 ERROR: Undefined symbol: .ap_server_root_relative
ld: 0711-317 ERROR: Undefined symbol: .ap_log_error
ld: 0711-317 ERROR: Undefined symbol: .ap_get_brigade
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status

就是链接时找不到函数
steptodream 2009-09-15
  • 打赏
  • 举报
回复
要把错误贴上来
wangzhanchuan 2009-09-15
  • 打赏
  • 举报
回复
至少贴一些makefile里面的内容及出错的信息出来。
wlabing 2009-09-15
  • 打赏
  • 举报
回复
到apache的库目录下,用nm命令查看哪个库中有那几个函数,找出来加到编译选择-l即可。
琴乐音 2009-09-15
  • 打赏
  • 举报
回复
我想知道在windows上编译apache模块程序,需要下面的库:
libapr.lib
libaprutil.lib
libhttpd.lib
如果在linux上编译, 我只找到前2个, libhttpd.lib这个对应的没找到, 我如果用到这个库中的函数,那怎么办?
琴乐音 2009-09-15
  • 打赏
  • 举报
回复
能不能具体说说, 我用 nm xxx.so |grep ap_log_error ,没找到, 我想这3个方法, 不在lib下的库中.
lib下只有libapr-0, libaprutil.
mosaic 2009-09-15
  • 打赏
  • 举报
回复
在/usr/local/apache2/lib把所有的库中的符号表用nm命令显示出来,再用grep查一下ap_log_error那几个没有的符号在哪个文件里面,再把那个文件链接上去应该就好了。

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧