1-5 代码移植clion【Clion同一工程编译多个文件(含main函数)】【windows下运行Clion编译出来的exe文件】【Clion移植代码报错】

0 - 前言

这个C++百万并发网络通信的项目本身是VS平台下编写,但是我很喜欢JetBrains系列的IDE,所以想把代码移植到Clion中。

但是网上关于Clion代码移植的资料并不是很多,在查询以后,总结成本文

1 - Clion同一工程编译多个文件(含main函数)

一个很现实的问题是Clion使用Cmake编译,Cmake会生成一个CmakeList文件。

通过修改CmakeList文件就能实现在一个工程下编译多个包含main函数的文件

参考:CLion工程中只能有一个main函数 &&怎么同时编写多个main函数的C文件

如果不想每次编译新的文件就手动修改CmakeList的话,推荐Clion的一个插件:C/C++ Single File Execution

在这里插入图片描述

安装上这个插件以后,在新建的cpp文件中只要【右键】-【add executable for single c/cpp file】就能自动实现修改CmakeList,最后只要在CmakeList中reload一下就可以编译文件了

在这里插入图片描述

编译后的exe文件,放在这个文件夹中:

在这里插入图片描述

2 - 运行Clion编译出来的exe文件

之前从VS将代码移植到Clion上,编译出来的exe文件不能在Windows上点击执行,这还是因为Clion使用Cmake编译的原因,在windows上exe文件需要libgcc才能运行

因此,需要在CmakeList文件中加入如下语句:

set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")

参考:CLion编译的exe文件无法运行

在这里插入图片描述

然后,在cmake-build-debug文件夹中找到编译后的exe文件,打开即可运行

3 - Clion移植代码报错

错误1: undefined reference to `__imp_WSAStartup’

Solution:CmakeList中加入如下代码:

link_libraries(ws2_32)

在这里插入图片描述

参考:

VSCode网络编程出现undefined reference to `__imp_WSAStartup’等错误

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值