#pragma comment(lib,"ws2_32.lib")

1、问题描述:近期项目在使用Canoe Car2X的过程中,Canoe 内部通信协议FDX需要用到Win32的socket编程,给的案例中vs解决方案可以正常运行,改为Cmake程序中出现以下错误:

1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_bind referenced in function "public: void __cdecl FDXSocket::Open(void)" (?Open@FDXSocket@@QEAAXXZ)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_closesocket referenced in function "public: void __cdecl FDXSocket::Close(void)" (?Close@FDXSocket@@QEAAXXZ)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_htonl referenced in function "public: void __cdecl FDXSocket::Open(void)" (?Open@FDXSocket@@QEAAXXZ)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_htons referenced in function "public: __cdecl FDXSocket::FDXSocket(void)" (??0FDXSocket@@QEAA@XZ)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_setsockopt referenced in function "public: void __cdecl FDXSocket::Open(void)" (?Open@FDXSocket@@QEAAXXZ)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_WSAStartup referenced in function "public: void __cdecl FDXSocket::Open(void)" (?Open@FDXSocket@@QEAAXXZ)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_WSACleanup referenced in function "public: void __cdecl FDXSocket::Close(void)" (?Close@FDXSocket@@QEAAXXZ)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_WSAGetLastError referenced in function "public: int __cdecl FDXSocket::Send(class FDXDatagram &)" (?Send@FDXSocket@@QEAAHAEAVFDXDatagram@@@Z)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_WSARecvFrom referenced in function "public: int __cdecl FDXSocket::Receive(class FDXDatagram &)" (?Receive@FDXSocket@@QEAAHAEAVFDXDatagram@@@Z)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_WSASendTo referenced in function "public: int __cdecl FDXSocket::Send(class FDXDatagram &)" (?Send@FDXSocket@@QEAAHAEAVFDXDatagram@@@Z)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_WSASocketW referenced in function "public: void __cdecl FDXSocket::Open(void)" (?Open@FDXSocket@@QEAAXXZ)
1>FDXSocket.obj : error LNK2019: unresolved external symbol __imp_inet_pton referenced in function "public: void __cdecl FDXSocket::SetCANoeAddr(char const *,unsigned short)" (?SetCANoeAddr@FDXSocket@@QEAAXPEBDG@Z)

2、问题分析与解决

普通项目工程中已经加载了相关的lib ws2_32.lib,但是在cmake程序中默认不会夹杂相关lib,需要在Cmakelist中加入相关的链接库或者在用到Win32lib的代码中手动添加相关的库文件和头文件,问题即可解决。

#if defined __WIN32 || defined WIN32
#include  <WinSock2.h>
#pragma comment(lib,"Ws2_32.lib")
#endif

FDX协议 #pragma comment(lib,“ws2_32.lib“)相关推荐

  1. #pragma comment和#pragma 预处理指令详解

    该宏放置一个注释到对象文件或者可执行文件. 例如,#pragma   comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库. 和在工程设置里写上链入 ...

  2. [转]pragma comment的使用

    pragma comment的使用 该宏放置一个注释到对象文件或者可执行文件. #pragma comment( comment-type [,"commentstring"] ) ...

  3. [转]#pragma once和#pragma comment

    编程经常碰到,理解的总不是很透彻,在这里查阅资料总结一下! 在编写程序的时候,我们常用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作. #pragma once : 这是一个 ...

  4. pragma comment的使用 pragma预处理指令详解

    pragma comment的使用 pragma预处理指令详解 #pragma comment( comment-type [,"commentstring"] ) 该宏放置一个注 ...

  5. pragma comment的使用(转)

    #pragma 的使用 尽管 C 和 C++ 都已经有标准,但是几乎每个编译器 (广义,包含连接器等) 扩展一些 C/C++ 关键字. 合理地应用这些关键字,有时候能使我们的工作非常方便.下面随便说说 ...

  6. #pragma comment 的使用方法

    [cpp] view plaincopy #pragma comment ( lib,"wpcap.lib" ) 表示链接wpcap.lib这个库. 和在工程设置里写上链入wpca ...

  7. ws2_32.lib 网络编程

    project->settings->link 在object/library modules 中加入ws2_32.lib 在项目上点右键->属性->配置属性->链接器- ...

  8. VC Ws2_32.lib

    该库对应WS2_32.DLL,提供了对以下网络相关API的支持,若使用其中的API,则应该将ws2_32.lib加入工程(否则要动态载入WS2_32.DLL). accept bind closeSO ...

  9. Ws2_32.lib是做什么用的

    该库对应ws2_32.dll,提供了对以下网络相关API的支持,若使用其中的API,则应该将ws2_32.lib加入工程(否则需要动态载入ws2_32.dll). accept bind closes ...

最新文章

  1. printstream java_Java PrintStream
  2. (四)数据结构之“队列”
  3. cursor is oracle 日期_Oracle时间计算------日期格式参数含义说明
  4. Centos下安装Gcc和Qt
  5. 手机端滚动屏幕加载更多
  6. ubuntu 查找opencv安装路径_Ubuntu系统---配置OpenCV
  7. iOS手势开发的那点儿事
  8. 入职培训分享——第二篇 知识产权篇
  9. 韦东山ARM裸机学习笔记——S3C2440的串口驱动编程原理
  10. 利用SHA-1算法和RSA秘钥进行签名验签(带注释)
  11. JAVA毕业设计酒店管理系统设计与实现计算机源码+lw文档+系统+调试部署+数据库
  12. PHP下处理HTTP--json--xml信息
  13. 为什么心中总是各种“草泥马”在奔
  14. 三代UHS超高速SD卡
  15. 阿里云CDN全站加速,说说动态加速那些事
  16. EXCEL数据计算结果不对
  17. python numpy.ndarray中的数据转为int型
  18. JAVA ActiveMQ 详解
  19. 广域网 —— HDLC协议
  20. I2C读取EEROM时序图

热门文章

  1. 【SQL开发实战技巧】系列(四十五):Oracle12C常用新特性☞VARCHAR2/NVARCHAR2类型最大长度由4000字节扩展到32767字节
  2. 监督和审计也是关键---携程528事件启发
  3. 2022年的CSR和SSR
  4. Python实例9: BMI指数计算
  5. ps2020切片时选择多张图片
  6. 抠图算法-Alpha Matting
  7. php前端开发培训,杭州web前端培训技术学校(web前端开发和php开发)
  8. SysFader iexplore.exe应用程序错误
  9. 量化交易软件 python_用python实现量化交易
  10. 公司注册资金到底多少才是最好