linux编译动态库未定义,自定义动态库 对‘*’未定义的引用解决方法
自定义动态库 对‘*’未定义的引用
本帖最后由 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编译动态库未定义,自定义动态库 对‘*’未定义的引用解决方法相关推荐
- Linux 未定义的引用解决记录
Linux 未定义的引用解决记录 最近国产化适配,原来代码工程使用QT+VS编译,移植到QT+Linux上,会提示未定义的引用,有几种原因记录如下: 因为QT+VS的母工程是一直更新的,可能后面有新增 ...
- linux编译动态库未定义,GCC链接库的一个坑:动态库存在却提示未定义动态库的函数...
背景 在GCC中已经指定链接库,然而编译时却提示动态库函数未定义! 测试出现的错误提示如下: [GMPY@13:48 tmp]$gcc -o test -L. -lmylib test.c /tmp/ ...
- left函数未定义_access中LEFT函数未定义的解决方案\表达式中'left'函数未定义。
时 间:2012-07-03 09:30:55 作 者: 摘 要:表达式中'left'函数未定义. 正 文: 在使用ACCESS过程中,经常遇到网友问ACCESS中LEFT函数未定义,RIGHT函数未 ...
- matlab 函数 未定义,matlab一直说我未定义函数或变量x怎么办?
你有没有给x赋值?没有的话,函数g(x)没法调用参数x就出错了.例如试试:12x = 1:10;g(x)www.mh456.com防采集. 首先你这个函数写的是2113没问题,我感觉你的5261基础不 ...
- html显示未定义,(X)HTML中的未定义行为?
这比检查 Yi Jiang和 mu is too short给出的DTD稍微复杂一些. 的确,XHTML 1.0 DTD明确禁止< a>元素作为< button>元素在您的问题 ...
- 符号未定义Java_Java ODBC数据源(未定义符号:SQLAllocEnv)
我有以下Java代码.该代码的目的是建立与远程MySQL数据库ProductionDb(在我的/etc/odbc.ini文件中定义的数据源)的连接. import java.sql.*; import ...
- python名字未定义_Python名称错误:未定义名称“”
我目前正在扩展python技能,通过编程一个程序生成的文本格式的地下城级别.我很困惑为什么我的"交叉"定义不起作用.下面是包含def的类:class Room: global x1 ...
- g linux 未定义的引用_【转】 g++编译时对'xxxx'未定义的引用问题(undefined reference to)...
转自:https://blog.csdn.net/killwho/article/details/53785910 引用:http://www.linuxdiyf.com/linux/16754.ht ...
- 结合xxx.cpp:(.text+0x55):对‘xxx’未定义的引用剖析Linux环境下动态库.so文件
操作系统:Linux系统 场景:g++编译,连接动态库文件时 错误示例(中文): /tmp/cccgNNpb.o:在函数'main'中: test.cpp:(.text+0x55):对'myprint ...
最新文章
- build/envsetup.sh脚本分析
- 如何解决Binder泄漏问题
- leetcode 111
- 用JavaScript实现网页无限轮播图效果,附整套源码
- 一个while的小小问题
- [k8s]dashboard1.8.1搭建( heapster1.5+influxdb+grafana)
- 跟我一起写一个chrome扩展程序
- 洛谷.3121.审查(AC自动机 链表)
- mysql python insert 添加数据
- PHP+MySQL实现留言板功能(一)
- docker push 时 tag does not exist
- kotlin的wifi获取列表和连接指定wifi
- windows涉及所有协议及默认端口
- 思维导图学习---计算机相关基础思维导图(1)
- eds能谱图分析实例_一文带你全面了解X射线光电子能谱(XPS)谱图分析
- Python数据库及ORM框架对比选择
- 【全志T113-S3_100ask】7-编译Tina系统初体验
- kubernetes 的安装与部署
- 澜沧一中2021高考成绩查询,2021高三励志主题班会教案
- 汉图科技XPrint极印手机照片打印机发布