当前位置:  技术问答>linux和unix

程序连接时出错,请大侠指点

    来源: 互联网  发布时间:2015-04-13

    本文导语:      我编译了两个库libpt.so 和libopent120.so,其中libopent120.so是依赖libpt.so 编译出来的。(这是t120协议)不过在连接一个应用程序时 cc -o tools/simple/obj_linux_x86_d/SimpleConnect tools/simple/obj_linux_x86_d/simple_connect.o -L/usr/lib -lpt -ldl -...


    我编译了两个库libpt.so 和libopent120.so,其中libopent120.so是依赖libpt.so 编译出来的。(这是t120协议)不过在连接一个应用程序时
cc -o tools/simple/obj_linux_x86_d/SimpleConnect tools/simple/obj_linux_x86_d/simple_connect.o -L/usr/lib -lpt -ldl -lpthread -L./lib_linux_x86_d -lopent120 -lstdc++
出现了很多错误(编译没问题),如:
tools/simple/obj_linux_x86_d/simple_connect.o(.text+0xad): In function `SimpleT120::SimpleT120[not-in-charge]()':
include/t123/TransportListener.h:62: undefined reference to `PString::PString[in-charge]()'
tools/simple/obj_linux_x86_d/simple_connect.o(.text+0xc1):include/t123/TransportListener.h:62: undefined reference to `PString::PString[in-charge]()'
tools/simple/obj_linux_x86_d/simple_connect.o(.text+0x171): In function `SimpleT120::SimpleT120[in-charge]()':
tools/simple/simple_connect.cpp:96: undefined reference to `PString::PString[in-charge]()'

./lib_linux_x86_d/libopent120.so: undefined reference to `PString::PString[not-in-charge]()'
./lib_linux_x86_d/libopent120.so: undefined reference to `PString::PString[not-in-charge](PString const&)'

其实,这些函数都是有定义的,只是在libpt.so 里,请教!!

还有就是,它怎么指明说在某个头文件(如include/t123/TransportListener.h)里没有定义什么东东,为什么而不是其他的头文件' ,

|
把-lopent120放到-lpt前边试试。

|
不好意思,刚注意到你是用C去连接C++库,这样是不行的,因为C++编译器对函数名进行了mangle,而C编译器是不会这样做的,所以同样的函数声明在C++里和C里编译出的符号是不同的,不能直接调用。
两个办法:
1、都用C++
2、库里要输出的函数用export "C"声明和定义。不过看你的应用,这个方法应该不合适。

    
 
 

您可能感兴趣的文章:

  • 哪位大侠能够推荐一下处理jpeg文件的程序,最好有源代码!!
  • 求助各位大侠:Linux下Ftp客户端程序编写
  • 各位大侠,想问问驱动程序中(linux或者windows平台)可否使用线程?
  • 哪位大侠能讲讲怎么将一个用EJB写的站点做成安装程序?
  • 那位大侠有代理服务器的程序?
  • 哪位大侠帮我看看这个程序。
  • 关于telnetd程序移植的问题,请了解Unix telnet过程的大侠帮忙看看
  • 等待大侠出手相救,在多线程程序中执行system函数导致CPU利用率不停的增长的问题。
  • 请问大侠,有什么方法能对JSP程序页面自动刷新。
  • to:那位大侠可以提供关于用JAVA实现FTP的客户端程序,
  • 哪位大侠知道如何调试Qt程序?
  • 求教大侠:1.如何安装*.run格式的驱动程序。(急,送分!!)
  • 请问各位大侠,如何将.o程序发布到apache下,并能让客户端可以访问呢?
  • 那位大侠给我一个线程池的例子程序看看
  • java程序的扩展名是什么?如何用jdk编译并生成一个可执行文件呢?我太菜了。各位大侠见笑了。
  • 那位大侠能讲解一下关于在DEVFS下的LINUX驱动程序和以前的不同之处。非常感谢!
  • 用C编写一个多进程的程序,请各位大侠指点一下,不需要源代码,只想知道该怎样来设计程序的框架。在线等各位的帮助。谢谢。(急求)
  • 各位大侠,我的第一个j2ee程序竟然有误。请指教:::
  • 请问大侠: 2.4下应用程序(user space)传大量数据给内核模块(kernel space)的可选方法和最佳方法.
  • 各位大侠帮忙了!为什么我的IE里边不能显示运行JAVA小程序?IE的安全设置降到了最低!
  • tslib1.4运行触摸屏校准程序出错
  • 求救!程序在EM8620平台(ARM7)下执行出错!
  • shell 调用java程序出错
  • WinXP 下为什么运行和安装JAVA程序总出错!
  • 新手提问 在线等待,为什么我的程序中 new 操作符出错?
  • window下java程序 放到linux出错
  • 为什么我照抄书上的程序,在jdk1.3下编译还出错,各位高手帮帮我!!!
  • Solaris8,安装了iconv,gcc和gcclib,然后用gcc编译c程序出错。
  • UNIX下C程序编译成功后运行出错,怎么回事?
  • ARM运行应用程序出错
  • (紧急求助)后台运行程序出错
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一段小小的Java程序,请指点指点!!!多谢!
  • 初学linux程序设计,有个程序找不到思路,跪求大神指点!
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行,请高手指点一下
  • 如何使用kdevelop创建动态共享库程序,请高手指点
  • 请高手指点,多线程程序,如何调试找出 SIGSGEV 发生的位置?
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • 经常听人调试程序时说程序“core了”,不知道所说的“core了”是什么意思?望大虾指点迷津......
  • 初级程序员请各位指点方向!
  • 我在suse下面写了c程序软件,如何才能制作成安装版的软件了,请高手指点
  • 关于Gtk程序全屏显示的问题,请高手指点一下!!
  • 程序编码和字体的问题,请高手指点。
  • 准备去考SCJP了,谁能指点我报名的程序........
  • 高手指点,unix下有什么样的工具可以对程序进行汉化???答者有分
  • Linux的驱动程序构架怎么看不懂?请进来指点
  • sh程序 取得上月 问题,请指点
  • linux 中用shell编写程序时遇到的一个问题,请高手指点!!!!
  • 请各位指点下嵌入式linux应用程序开发关于线程和进程的选用
  • VC中的预处理程序定义 在makefile中如何表达啊?(望高手指点)
  • 大家好!要在linux下开发一个网卡设备驱动程序,是怎样的一个过程?盼请指点
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3