自定义动态库 对‘*’未定义的引用

本帖最后由 longruliang 于 2015-05-25 16:02:26 编辑

自己编写了一个串口方面的动态库,想写一个测试程序,在编译的时候冒出对‘*’未定义的引用,怎么解决,我用的CodeBlock

卡在这一步好多天了,先谢谢各位兄弟了。

//Main

#include        //标准输入输出定义

#include       //标准函数库定义

#include "3000StandardCommand.h"

#define FALSE -1

#define TRUE 0

int main(int argc, char **argv)

{

int fd =FALSE;

fd=  PortOpen("/dev/ttyS0",9600,0,8,1,'N');

if(FALSE == fd){

printf("open error\n");

exit(1);

}

else

{

printf("open OK\n");

}

PortClose();

return 0;

}

//3000StandardCommand.h

#ifdef _cplusplus

extern"C"

{

#endif

/*******************************************************************

* 名称: PortOpen

* 功能: 设置串口号,数据位,停止位和效验位

* 入口参数:

× port 串口号

* speed 串口速度

* flow_ctrl 数据流控制

* databits 数据位 取值为 7 或者8

* stopbits 停止位 取值为 1 或者2

* parity 效验类型 取值为N,E,O,,S

*出口参数: 正确返回为1,错误返回为0

*******************************************************************/

int PortOpen(char* port ,int speed,int flow_ctrl,int databits,int stopbits,int parity);

/*******************************************************************

* 名称: PortClose

* 功能: 关闭串口

*******************************************************************/

void PortClose();

#ifdef _cplusplus

extern"C"

}

#endif

;

-------------- 生成: Debug in 3000ComLinuxTest (compiler: GNU GCC Compiler)---------------

g++  -o bin/Debug/3000ComLinuxTest obj/Debug/main.o

obj/Debug/main.o:在函数‘main’中:

/home/longruliang/桌面/Project/3000Linux/3000ComLinuxTest/main.c:14:对‘PortOpen’未定义的引用

/home/longruliang/桌面/Project/3000Linux/3000ComLinuxTest/main.c:24:对‘PortClose’未定义的引用

collect2: error: ld returned 1 exit status

Process terminated with status 1 (0 minute(s), 0 second(s))

0 error(s), 0 warning(s) (0 minute(s), 0 second(s))

------解决思路----------------------

extern"C" 去掉

linux编译动态库未定义,自定义动态库 对‘*’未定义的引用解决方法相关推荐

  1. Linux 未定义的引用解决记录

    Linux 未定义的引用解决记录 最近国产化适配,原来代码工程使用QT+VS编译,移植到QT+Linux上,会提示未定义的引用,有几种原因记录如下: 因为QT+VS的母工程是一直更新的,可能后面有新增 ...

  2. linux编译动态库未定义,GCC链接库的一个坑:动态库存在却提示未定义动态库的函数...

    背景 在GCC中已经指定链接库,然而编译时却提示动态库函数未定义! 测试出现的错误提示如下: [GMPY@13:48 tmp]$gcc -o test -L. -lmylib test.c /tmp/ ...

  3. left函数未定义_access中LEFT函数未定义的解决方案\表达式中'left'函数未定义。

    时 间:2012-07-03 09:30:55 作 者: 摘 要:表达式中'left'函数未定义. 正 文: 在使用ACCESS过程中,经常遇到网友问ACCESS中LEFT函数未定义,RIGHT函数未 ...

  4. matlab 函数 未定义,matlab一直说我未定义函数或变量x怎么办?

    你有没有给x赋值?没有的话,函数g(x)没法调用参数x就出错了.例如试试:12x = 1:10;g(x)www.mh456.com防采集. 首先你这个函数写的是2113没问题,我感觉你的5261基础不 ...

  5. html显示未定义,(X)HTML中的未定义行为?

    这比检查 Yi Jiang和 mu is too short给出的DTD稍微复杂一些. 的确,XHTML 1.0 DTD明确禁止< a>元素作为< button>元素在您的问题 ...

  6. 符号未定义Java_Java ODBC数据源(未定义符号:SQLAllocEnv)

    我有以下Java代码.该代码的目的是建立与远程MySQL数据库ProductionDb(在我的/etc/odbc.ini文件中定义的数据源)的连接. import java.sql.*; import ...

  7. python名字未定义_Python名称错误:未定义名称“”

    我目前正在扩展python技能,通过编程一个程序生成的文本格式的地下城级别.我很困惑为什么我的"交叉"定义不起作用.下面是包含def的类:class Room: global x1 ...

  8. g linux 未定义的引用_【转】 g++编译时对'xxxx'未定义的引用问题(undefined reference to)...

    转自:https://blog.csdn.net/killwho/article/details/53785910 引用:http://www.linuxdiyf.com/linux/16754.ht ...

  9. 结合xxx.cpp:(.text+0x55):对‘xxx’未定义的引用剖析Linux环境下动态库.so文件

    操作系统:Linux系统 场景:g++编译,连接动态库文件时 错误示例(中文): /tmp/cccgNNpb.o:在函数'main'中: test.cpp:(.text+0x55):对'myprint ...

最新文章

  1. build/envsetup.sh脚本分析
  2. 如何解决Binder泄漏问题
  3. leetcode 111
  4. 用JavaScript实现网页无限轮播图效果,附整套源码
  5. 一个while的小小问题
  6. [k8s]dashboard1.8.1搭建( heapster1.5+influxdb+grafana)
  7. 跟我一起写一个chrome扩展程序
  8. 洛谷.3121.审查(AC自动机 链表)
  9. mysql python insert 添加数据
  10. PHP+MySQL实现留言板功能(一)
  11. docker push 时 tag does not exist
  12. kotlin的wifi获取列表和连接指定wifi
  13. windows涉及所有协议及默认端口
  14. 思维导图学习---计算机相关基础思维导图(1)
  15. eds能谱图分析实例_一文带你全面了解X射线光电子能谱(XPS)谱图分析
  16. Python数据库及ORM框架对比选择
  17. 【全志T113-S3_100ask】7-编译Tina系统初体验
  18. kubernetes 的安装与部署
  19. 澜沧一中2021高考成绩查询,2021高三励志主题班会教案
  20. 汉图科技XPrint极印手机照片打印机发布

热门文章

  1. 主流TTLCMOS电平介绍
  2. WordPress打开速度很慢的解决方法
  3. asp子窗口读取父窗口数据_算法与数据结构基础 - 数组(Array)
  4. 1126: 第二章:我们都有梦想
  5. 约瑟夫环问题(vector模拟过程)
  6. CodeDay#7 启动 | 北京欢迎你
  7. 融合、协同系统的边缘云原生架构演进和实践
  8. 组合模式_[设计模式]10.组合模式
  9. 从0开始搭建一个战棋游戏的AI(初级教程)
  10. C#反射使用方法过程及步骤