Linux(Debian)编译C++踩坑

本文记录了在Debian9系统中进行C++开发时遇到的挑战,包括设置SSH连接、VS2019远程Linux项目配置、头文件问题、编译选项错误等,并提供了相应的解决方案,如修改sshd_config文件,处理头文件导入问题,理解并正确使用-fPIC选项,以及针对pthread、dlopen和forkpty等库的链接方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Debian9系统,因为是最简安装,至今控制台依旧不能打印中文
VS2019 Linux开发

  1. 安装ssh
  2. 打开ssh
  3. 固定ip地址
  4. 主机使用ping、ssh指令测试虚拟机网络以及端口是否正常(注意虚拟机ip不要重复)
  5. 如果需要打开root的ssh需要修改/etc/ssh/sshd_config PermitRootLogin yes
  6. VS2019上新建Linux项目
  7. Linux里设置连接的地址、用户名、密码等
  8. 运行HelloWorld
  9. 如果发现项目能正常编译,但头文件报红或者无法include头文件,说明自动复制头文件失效了。见https://blog.youkuaiyun.com/qq_34950682/article/details/107323887。将 /usr/include/usr/local/include复制到VS-工具-跨平台-连接管理器-远程标头xxxx-浏览所打开的文件夹。不需要添加附加库目录
  10. 不是从一开始就用VS开发Linux的话之后再改还是很麻烦的,所有还是改回直接Linux编译了

LInux编译踩坑
11. 不要随便导入头文件,尤其是别人的包定义的头文件。其中可能有大量宏定义,导致自己甚至系统的变量失效
12. 类方法声明时不要再加类限定名,编译不通过extra qualification
13. 编译成静态库需要在cmake加入add_compile_options(-fPIC),否则不允许链接
14. 导入静态库需要静态库在编译时加入-fPIC编译命令。因为我需要使用python的库,所以python27在linux上也要重新make,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值