日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發布時間:2024/8/5 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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编译动态库未定义,自定义动态库 对‘*’未定义的引用解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。