hualinux c 1.4:win CLion远程centos8开发C/C++

本文详细介绍了如何在Windows环境下使用CLion IDE进行远程Linux C/C++开发,包括环境搭建、配置步骤、常见问题解决及多main函数运行技巧。

目录

前言

一、环境说明

1.1 说明

1.2 centos8相关设置

1.2.1centos8安装兼容包(已安装)

1.2.2关闭selinux(重要)

1.2.3关闭防火墙

1.2.4时间同步(最好要)

1.2.5 安装第三方源epel源及remi源

1.2.6在history命令前添加时间显示

1.2.7 修改文件连接数

1.3 centos8安装gcc、make、cmak、gdb等依赖

1.3.1 dnf安装gcc make gdb

1.3.2 源安装cmake

1.4 Clion安装及配置

1.4.1 Clion安装

1.4.2 Clion配置远程

二、建立一个简单的hello测试

2.1 建立项目

2.2 修改指定目录(可选)

2.3 查看生成的执行文件

三、常见问题

3.1 控制台中文乱码解决

3.1.1 修改文件编码

3.1.2 修改VM参数

3.2 再次使用CLion发现远程连接不上解决

3.3 同时编写多个main函数运行文件


前言

上一章《hualinux c 1.3:c语言的ide神器CLion安装》讲了windows下安装Clion编写win上的C,现在这篇,牛B点,远程linux进行C/C++开发!废话少说,现在开始

一、环境说明

1.1 说明

本地系统:win7 64位旗舰版,主要在上面安装CLion IDE开发工具,目前新版本为2020.1

虚拟机系统:centos8.1 64位,最小化安装

名称

版本

安装方式

备注

Clion

2020.1

exe

官网下载直接安装即可

xshell

6.0

exe

可以官网下载家庭免费版,不建议使用破解一般有木马

gcc

8.3.1

dnf

在这里直接dnf install安装即可

make

4.2.1

dnf

这里也是直接安装

cmake

3.11

源安装

不能低于3.16 ,dnf安装的为3.11

gdb

8.2.6

dnf

直接dnf就够了

1.2 centos8相关设置

1.2.1centos8安装兼容包(已安装)

服务器端和客户端同时操作

#兼容centOS6之前的命令

yum install -y net-tools

不关闭也可以要让其端口通过防火墙

1.2.2关闭selinux(重要)

如果不关闭selinux的话,有些自定义路径不符它的规则会产生问题,一般推荐关闭

#临时关闭:
setenforce off
#永久性关闭:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sed -n '/SELINUX=/p' /etc/selinux/config
shutdown -r now

1.2.3关闭防火墙

#停止firewall
#禁止firewall开机启动
systemctl stop firewalld.service
systemctl disable firewalld.service

1.2.4时间同步(最好要)

有不少软件对时间有要求的,不能相差太多,比如主从、zabbix等,所以建议配置一下

centos8已经取消了ntp,默认使用的是chronyd

有些软件时间性要求比较强的,如同步类,数据库主从,做实验也最好同步一下时间

#yum和dnf都可以安装,推荐用dnf
#yum install chrony
dnf install chrony

在第8次迭代之前,CentOS

====================[ 构建 | C++OpenCV_rendering-to-QML | Debug ]================= "D:\CLion 2025.1.3\bin\cmake\win\x64\bin\cmake.exe" --build "E:\CLionc++lianxi\C++OpenCV_rendering to QML\cmake-build-debug" --target C++OpenCV_rendering-to-QML -j 4 [1/4] Automatic MOC for target C++OpenCV_rendering-to-QML [2/3] Building CXX object CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj [3/3] Linking CXX executable C++OpenCV_rendering-to-QML.exe FAILED: C++OpenCV_rendering-to-QML.exe C:\Windows\system32\cmd.exe /C "cd . && "D:\CLion 2025.1.3\bin\mingw\bin\g++.exe" -g -mwindows CMakeFiles/C++OpenCV_rendering-to-QML.dir/C++OpenCV_rendering-to-QML_autogen/mocs_compilation.cpp.obj CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj CMakeFiles/C++OpenCV_rendering-to-QML.dir/C++OpenCV_rendering-to-QML_autogen/DHU3A7JD2B/qrc_source.cpp.obj -o C++OpenCV_rendering-to-QML.exe -Wl,--out-implib,libC++OpenCV_rendering-to-QML.dll.a -Wl,--major-image-version,0,--minor-image-version,0 D:/Qt/6.8.3/msvc2022_64/lib/Qt6QuickControls2d.lib "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" "E:/CLionc++lianxi/C++OpenCV_rendering to QML/src/qml_opencv/lib/opencv/msvc/lib/opencv_world480d.lib" D:/Qt/6.8.3/msvc2022_64/lib/Qt6Quickd.lib D:/Qt/6.8.3/msvc2022_64/lib/Qt6QmlMetad.lib D:/Qt/6.8.3/msvc2022_64/lib/Qt6QmlWorkerScriptd.lib D:/Qt/6.8.3/msvc2022_64/lib/Qt6OpenGLd.lib -luser32 D:/Qt/6.8.3/msvc2022_64/lib/Qt6Guid.lib -ld3d11 -ldxgi -ldxguid -ld3d12 D:/Qt/6.8.3/msvc2022_64/lib/Qt6QmlModelsd.lib D:/Qt/6.8.3/msvc2022_64/lib/Qt6Qmld.lib D:/Qt/6.8.3/msvc2022_64/lib/Qt6Networkd.lib D:/Qt/6.8.3/msvc2022_64/lib/Qt6Cored.lib -lmpr -luserenv D:/Qt/6.8.3/msvc2022_64/lib/Qt6EntryPointd.lib -lws2_32 -lshell32 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && C:\Windows\system32\cmd.exe /C "cd /D "E:\CLionc++lianxi\C++OpenCV_rendering to QML\cmake-build-debug" && D:\Qt\6.8.3\msvc2022_64\bin\windeployqt.exe "E:/CLionc++lianxi/C++OpenCV_rendering to QML/cmake-build-debug/C++OpenCV_rendering-to-QML.exe" --qmldir "E:/CLionc++lianxi/C++OpenCV_rendering to QML/UI_resource/qml""" D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj: in function `indexOfOwnClassInfo': D:/Qt/6.8.3/msvc2022_64/include/QtQml/qqmlprivate.h:809: undefined reference to `__imp__ZNK11QMetaObject15classInfoOffsetEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: D:/Qt/6.8.3/msvc2022_64/include/QtQml/qqmlprivate.h:811: undefined reference to `__imp__ZNK11QMetaObject14classInfoCountEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: D:/Qt/6.8.3/msvc2022_64/include/QtQml/qqmlprivate.h:814: undefined reference to `__imp__ZNK11QMetaObject9classInfoEi' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: D:/Qt/6.8.3/msvc2022_64/include/QtQml/qqmlprivate.h:814: undefined reference to `__imp__ZNK14QMetaClassInfo4nameEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: D:/Qt/6.8.3/msvc2022_64/include/QtQml/qqmlprivate.h:814: undefined reference to `__imp__Z7qstrcmpPKcS0_' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj: in function `main': E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:12: undefined reference to `__imp__ZN12QQuickWindow14setGraphicsApiEN20QSGRendererInterface11GraphicsApiE' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:19: undefined reference to `cv::VideoCapture::VideoCapture()' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:24: undefined reference to `__imp__ZN15QGuiApplicationC1ERiPPci' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:37: undefined reference to `__imp__ZN10QQmlEngineC1EP7QObject' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:41: undefined reference to `__imp__ZN13QQmlComponentC1EP10QQmlEngineP7QObject' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:55: undefined reference to `__imp__ZN4QUrlC1ERK7QStringNS_11ParsingModeE' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:55: undefined reference to `__imp__ZN13QQmlComponent7loadUrlERK4QUrl' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:55: undefined reference to `__imp__ZN4QUrlD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:58: undefined reference to `__imp__ZNK13QQmlComponent7isErrorEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:60: undefined reference to `__imp__ZNK14QMessageLogger5debugEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:60: undefined reference to `__imp__ZNK13QQmlComponent11errorStringEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:60: undefined reference to `__imp__ZN6QDebugD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:64: undefined reference to `__imp__ZN13QQmlComponent6createEP11QQmlContext' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:67: undefined reference to `__imp__ZNK13QQmlComponent7isErrorEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:69: undefined reference to `__imp__ZNK14QMessageLogger5debugEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:69: undefined reference to `__imp__ZNK13QQmlComponent11errorStringEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:69: undefined reference to `__imp__ZN6QDebugD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:71: undefined reference to `__imp__ZN15QGuiApplication4execEv' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:72: undefined reference to `__imp__ZN13QQmlComponentD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:72: undefined reference to `__imp__ZN10QQmlEngineD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:72: undefined reference to `__imp__ZN15QGuiApplicationD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:72: undefined reference to `cv::VideoCapture::~VideoCapture()' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:55: undefined reference to `__imp__ZN4QUrlD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:60: undefined reference to `__imp__ZN6QDebugD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:69: undefined reference to `__imp__ZN6QDebugD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:72: undefined reference to `__imp__ZN13QQmlComponentD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:72: undefined reference to `__imp__ZN10QQmlEngineD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:72: undefined reference to `__imp__ZN15QGuiApplicationD1Ev' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: E:/CLionc++lianxi/C++OpenCV_rendering to QML/main.cpp:72: undefined reference to `cv::VideoCapture::~VideoCapture()' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj: in function `QString::QString(char const*)': D:/Qt/6.8.3/msvc2022_64/include/QtCore/qstring.h:847: undefined reference to `__imp__ZN7QString8fromUtf8E14QByteArrayView' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj: in function `QString::data() const': D:/Qt/6.8.3/msvc2022_64/include/QtCore/qstring.h:1242: undefined reference to `__imp__ZN7QString6_emptyE' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj: in function `QDebug::maybeSpace()': D:/Qt/6.8.3/msvc2022_64/include/QtCore/qdebug.h:93: undefined reference to `__imp__ZN11QTextStreamlsEc' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj: in function `QDebug::operator<<(QString const&)': D:/Qt/6.8.3/msvc2022_64/include/QtCore/qdebug.h:127: undefined reference to `__imp__ZN6QDebug9putStringEPK5QChary' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj: in function `QByteArrayView::QByteArrayView<char, true>(char const*, long long)': D:/Qt/6.8.3/msvc2022_64/include/QtCore/qbytearrayview.h:147: undefined reference to `__imp__Z9qt_assertPKcS0_i' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: D:/Qt/6.8.3/msvc2022_64/include/QtCore/qbytearrayview.h:147: undefined reference to `__imp__Z9qt_assertPKcS0_i' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/main.cpp.obj: in function `QtPrivate::QPodArrayOps<char16_t>::destroyAll()': D:/Qt/6.8.3/msvc2022_64/include/QtCore/qarraydataops.h:98: undefined reference to `__imp__Z9qt_assertPKcS0_i' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: D:/Qt/6.8.3/msvc2022_64/include/QtCore/qarraydataops.h:99: undefined reference to `__imp__Z9qt_assertPKcS0_i' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/C++OpenCV_rendering-to-QML_autogen/DHU3A7JD2B/qrc_source.cpp.obj: in function `qInitResources_source()': E:/CLionc++lianxi/C++OpenCV_rendering to QML/cmake-build-debug/C++OpenCV_rendering-to-QML_autogen/DHU3A7JD2B/qrc_source.cpp:88: undefined reference to `qRegisterResourceData(int, unsigned char const*, unsigned char const*, unsigned char const*)' D:\CLion 2025.1.3\bin\mingw\bin/ld.exe: CMakeFiles/C++OpenCV_rendering-to-QML.dir/C++OpenCV_rendering-to-QML_autogen/DHU3A7JD2B/qrc_source.cpp.obj: in function `qCleanupResources_source()': E:/CLionc++lianxi/C++OpenCV_rendering to QML/cmake-build-debug/C++OpenCV_rendering-to-QML_autogen/DHU3A7JD2B/qrc_source.cpp:97: undefined reference to `qUnregisterResourceData(int, unsigned char const*, unsigned char const*, unsigned char const*)' collect2.exe: error: ld returned 1 exit status ninja: build stopped: subcommand failed.
最新发布
07-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值