首页 > 编程知识 正文

clion安装教程,ubuntu clion

时间:2023-05-05 02:22:29 阅读:20932 作者:3495

1.About CLion CLion可以由跨平台IDE在Windows、macOS和Linux上安装和运行

可以使用什么编译器和调试器? 与VS不同,CLion需要自行安装其他环境支持。 与java相似的jdk等编译器,例如MinGW。

CLion支持GCC、Clang和andMicrosoft Visual C编译器

由编译器编译的代码存在效率差异,应该统一编译器。

需要预先安装的是在Windows上在Windows上配置CLion,要配置CLion,必须设置Cygwin、MinGW、WSL或MSVC环境。 环境中提供了c编译器、make实用程序和调试器

MSVC编译器

CLion支持Visual Studio 2013、2015、2017和2019附带的Microsoft Visual C编译器。 在macOS上设置CLion并在macOS上开始安装CLion之前,请确保您的计算机符合硬件要求,并且macOS版本为10.9.4。 在macOS中,可能安装了所需的工具。 安装CLion 2.1 Win10环境JetBrains官网下载Clion官网

首次运行:登录帐户以启用许可证,并优先设置。 学生可以使用edu邮箱注册JetBrains帐户。 然后,您可以免费使用JetBrains系列中所有IDE的旗舰版。 有效期届满也可以申请。 [外部链接图像的导出失败。 源站可能有防盗链机构。 建议保存图像并直接上传。 (img-DSlByuh4-1614872668123 ) evernote cid ://b5c0b 251-d 9a0-4888-8 ebc-2 eeab 405 CBC/appyiningcool

编译器MinGW下载

Cygwin

如果MSVC计算机上安装了VS CLion,则会自动检测到它

配置构建工具链(设置-构建、运行、部署-工具链)此过程是在CLion中配置构建所需工具的路径。

[导出外链图像失败。 源站可能存在防盗链机制。 建议保存图像并直接上传。 (img-yk0FHiZR-1614872668126 ) ) evernote cid ://b5c0b 251-d 9a0-4888-8 ebc-2ee abb 4008 ) ) 8

打开CLion时,左上角的文件设置构建工具在安装Visual Studio时会自动检测使用Visual Studio的编译环境

2.2在IOS环境Mac系统测试中,默认情况下选择IOS系统附带的Clang编译器。 要配置opencv opencv,需要cmake编译才能安装cmake

[导出外链图像失败。 源站可能有防盗链机制。 建议保存图像并直接上传。 (img-7ih0ckS0-1614872668128 ) ) evernote cid ://b5c0b 251-d 9a0-4888-8 ebc-2ee abb 4008 )

opencv3.4.0下载

cmake编译opencv

[导出外链图像失败。 源站可能存在防盗链机制。 建议保存图像并直接上传。 (img-Yb3PfcEh-1614872668132 ) ) evernote cid ://b5c0b 251-d 9a0-4888-8 ebc-2ee abb 4002

4 .打开终端执行make指令编译

[导出外链图像失败。 源站可能有防盗链机制。 建议保存图像并直接上传。 (img-IYJd1glt-1614872668134 ) ) evernote cid ://b5c0b 251-d 9a0-4888-8 ebc-2ee abb 4008 )

时间稍长等待Ing……

5.sudo make install加入系统依赖库

[导出外链图像失败。 源站可能有防盗链机制。 建议保存图像并直接上传。 (img-opw0jdGv-1614872668135 ) evernote cid ://b5c0b 251-d 9a0-4888-8 ebc-2ee abb 4008 ) ]

安装成功后,将显示opencv版本等信息

[外部链接图像的导出失败。 源站可能有防盗链机制。 建议保存图像并直接上传。 (img-irfpGsh7-1614872668135 ) evernote cid ://b5c0b 251-d 9a0-4888-8 ebc-2ee BC-2ee abb 4008 ) ]

使用opencv设置为工程cmakelist文件即可

[导出外侧链图像失败。 源站可能有防盗链机构

,建议将图片保存下来直接上传(img-XdCIoKAl-1614872668136)(evernotecid://B5C0B251-D9A0-4888-8EBC-2EEABB405CBC/appyinxiangcom/28500703/ENResource/p30)]

移植 cmake 什么是cmake

CMake是一个跨平台的编译(Build)工具,可以用简单的语句来描述所有平台的编译过程。

输出:各种各样的makefile或者project文件

假如我们有一个深度学习框架的部分工程列表,里面有超过40个互相调用的工程共同组成,一些用于生成库文件,一些用于实现逻辑功能。他们之间的调用关系复杂而严格,如果我想在这样复杂的框架下进行二次开发,显然只拥有它的源码是远远不够的,还需要清楚的明白这几十个项目之间的复杂关系,在没有原作者的帮助下进行这项工作几乎是不可能的。即使是原作者给出了相关的结构文档,对新手来说建立工程的过程依旧是漫长而艰辛的,因此CMake的作用就凸显出来了。原作者只需要生成一份CMakeLists.txt文档,框架的使用者们只需要在下载源码的同时下载作者提供的CMakeLists.txt,就可以利用CMake,在”原作者的帮助下“进行工程的搭建。

什么是makefile? 很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作 为什么使用makefile?

有效地描述这些文件之间的依赖关系以及处理命令,当个别文件改动后仅执行必要的处理,而不必重复整个编译过程,可以大大提高软件开发的效率。

CMake和makefile

Cmake是用来makefile的一个工具:读入所有源文件之后,自动生成makefile。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VWKfmZ6o-1614872668137)(evernotecid://B5C0B251-D9A0-4888-8EBC-2EEABB405CBC/appyinxiangcom/28500703/ENResource/p23)]

cmake基本语法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RKvKlXl4-1614872668138)(evernotecid://B5C0B251-D9A0-4888-8EBC-2EEABB405CBC/appyinxiangcom/28500703/ENResource/p39)]

#指定cmake的最小版本cmake_minimum_required(VERSION 3.2)#制定项目的名称project(Rigel)file(GLOB SOURCES *.h //*号对应具体的文件名 *.cpp ) #示CMake创建一个新目标:可执行文件hello-world。这个可执行文件是通过编译和链接源文件hello-world.cpp生成的。add_executable(hello-world hello-world.cpp) 瑕疵生成代码移植举例 写CMakeList.txt,配置项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y4lFq57N-1614872668139)(evernotecid://B5C0B251-D9A0-4888-8EBC-2EEABB405CBC/appyinxiangcom/28500703/ENResource/p65)]

include opencv相关库 即可生成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FhtTt7sI-1614872668140)(evernotecid://B5C0B251-D9A0-4888-8EBC-2EEABB405CBC/appyinxiangcom/28500703/ENResource/p66)]

效果图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fMteA4N8-1614872668140)(evernotecid://B5C0B251-D9A0-4888-8EBC-2EEABB405CBC/appyinxiangcom/28500703/ENResource/p67)]

如何生成动态链接库

在代码确保没报错的前提下,只要写好Cmakelist文件就可以进行Build,生成链接库了。
add_library(DEMOProject SHARED Afile.cpp Afile.hpp)有这句话就能够生成出dll动态链接库了

add_library( [STATIC | SHARED | MODULE]
[EXCLUDE_FROM_ALL]
[source1] [source2] […])
该指令的主要作用就是将指定的源文件生成链接文件,然后添加到工程中去,[STATIC | SHARED | MODULE]指定生成链接库的类型,指定STATIC,SHARED,或者MODULE参数用来指定要创建的库的类型。STATIC库是目标文件的归档文件,在链接其它目标的时候使用。如果什么都不写那么就会生成.a文件,也就是Linux的静态链接库文件。

如何写qt 1.下载相应的包和库 2.配置CMakeLists.txt即可

cmake_minimum_required(VERSION 3.0)
project(test)

指定c++标准的版本
set(CMAKE_CXX_STANDARD 17)

自动调用moc,uic,rcc处理qt的扩展部分
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

设置Qt5的cmake模块所在目录,如果不设置将使用系统提供的版本
QT_DIR和QT_VERSION是指定了qt安装目录和版本的环境变量
如果你使用了系统的cmake,那么会优先使用系统提供模块,因为cmake会优先搜索CMAKE_SYSTEM_PREFIX_PATH
如果你不想让cmake优先搜索系统目录(会导致编译使用系统安装的qt而不是我们配置的),需要提示find_package命令
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} E N V Q T D I R / ENV{QT_DIR}/ ENVQTD​IR/ENV{QT_VERSION}/gcc_64/lib/cmake)

找到对应的qt模块,名字为qmake中QT += 中的name首字母大写后加上Qt5前缀
例如core为QtCore,你也可以去${CMAKE_PREFIX_PATH}的目录中找到正确的模块名
如果不想使用系统qt,这样写(注意NO_DEFAULT_PATH参数,它会让find_package跳过系统目录的查找):
find_package(Qt5Widgets REQUIRED NO_DEFAULT_PATH)

如果你想要使用系统自带的qt,这样写:
find_package(Qt5Widgets REQUIRED)

将当前目录的所有源文件添加进变量
aux_source_directory(. DIRS_SRCS)

通常这样设置就可以,如果你的项目包含qrc文件,那么需要将它们单独添加进来
例如add_executable(test ${DIRS_SRCS} resources.qrc)
add_executable(test ${DIRS_SRCS})

把对应Qt模块的库链接进程序
target_link_libraries(test Qt5::Widgets)

可以写c#吗

不可以 JetBrains产品套件中一个成员——Rider可以 。
Rider是基于IntelliJ平台和ReSharper的跨平台.NET IDE。

参考文献

安装
开始一个工程

JetBrainCLion官方教程
cmake基本语法
cmake使用示例与整理总结
cmakecookbook

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。