1.基于虚拟机/服务器+CLion的卓源Linux C++开发环境搭建
2.如何在clion上配置使用opencv?
3.Visual Studio或CLion使用CMake编译、调试Fluent UDF
4.WSL2 安装并下载、源码编译AOSP源码
5.linux本地clion调试TVM源码环境搭建
6.gcc、卓源clang、源码make、卓源cmake、源码面相推算源码makefile、卓源CMakeLists.txt概念学习
基于虚拟机/服务器+CLion的源码Linux C++开发环境搭建
Linux C/C++开发环境搭建步骤:
首先,通过安装命令如下搭建开发环境:
确保环境已成功安装:
然后进行编译与运行:
安装构建工具:make
检查cmake版本,卓源若版本过低可参考官网下载安装包,源码执行指令进行安装。卓源
注意:若初次构建时选择的源码线程数导致程序异常终止,需重新查看并确认cmake版本。卓源
若cmake版本未显示,源码可执行相应指令进行确认安装。卓源
卸载源码安装的cmake,需进入执行make install时的路径,执行卸载命令。
安装CUDA,参照Python笔记。
配置服务器或虚拟机,注意仅特定型号的虚拟机支持CUDA安装,避免使用不兼容的显卡。
配置SSH服务,增加新网卡便于连接,确保虚拟机与Windows设备IP地址正确设置。
IDE配置CLion,参考特定教程,将远程环境设置为默认部署。
配置CMake选择远程工具链,可直接通过全局搜索功能,点击远端文件后进行修改并上传至服务器。
解决Windows Powershell报错问题,管理员身份打开Powershell,并执行特定指令。
如何在clion上配置使用opencv?
为了在 Clion 上配置并使用 OpenCV,您需要按照以下步骤操作:
首先,确保您的系统满足以下环境需求:Windows 专业版 bit、MinGW 3.、cmake 3.8.1、Clion .1 和 OpenCV 3.。
接下来,请访问cmake.org下载cmake版本3.8.1的Windows 位安装包,并将文件命名为cmake-3.8.1-win-x。rsi大盘源码
前往opencv.org的发布页面下载OpenCV 3.2.0的vc版本。
按照以下步骤进行配置:
1. 解压下载的OpenCV文件,将源代码目录设置为D:/opencv/sources。
2. 在CMake中选择源代码目录,保存到D:\opencv\mingw-build。
3. 在CMake中配置类型为MinGW Makefiles,等待配置完成并根据需要选择相关选项。再次点击Configure并确认所有区域变为白色后,点击Generate,等待操作完成。
4. 打开命令提示符,进入D:\opencv\mingw-build目录,输入mingw-make命令,等待编译完成。您可能需要尝试多次,直到成功。
5. 解决可能遇到的错误,如变量未找到问题,通过修改D:\MinGW\include\commctrl.h文件中的代码来解决。
6. 查找MinGW与库冲突问题,通过在github上查找解决方案,如修改D:\opencv\sources\modules\ts\include\opencv2\ts\ts_gtest.h文件中的条件编译。
7. 下载并覆盖github上的ts_gtest.h文件,以解决冲突。
8. 成功编译后,运行mingw-make install命令,创建一个安装文件夹。
9. 将D:\opencv\mingw-build\install\x\mingw\bin目录添加到系统环境变量path中,并重启系统。
. 打开Clion,编辑CMakeLists.txt文件并测试代码。
经过这些步骤后,您应该能够在Clion中成功配置并使用OpenCV。
Visual Studio或CLion使用CMake编译、调试Fluent UDF
在Fluent中编译、调试用户定义函数(UDF)可以是一个复杂的过程,涉及环境变量的配置、解决编译器与Fluent之间的兼容性问题等。使用CMake管理编译流程,结合Visual Studio(VS)或CLion这样的现代集成开发环境(IDE),可以极大地简化这一过程,提高开发效率。
首先,statfs源码分析推荐使用CLION的最新版本,因为它提供了一个更新的用户界面,使得在调试过程中停止调试时不会影响Fluent的正常运行,避免了旧版本中需要中断Fluent节点进程的不便。同时,VS也支持随时停止调试而不影响Fluent进程。
在编译过程中,正确的方法是将下载的项目放置在`case`文件夹下的一个特定文件夹中(命名为`lib_name`,名称自定义),将`udf-master`文件夹重命名为`src`并放入`lib_name`中。在配置IDE时,通过CMake列表文件进行编译即可,无需修改CMakeLists.txt文件。这一方法能够避免手动配置环境变量,提高代码移植性。
升级后的编译流程能够一次性编译`node`和`host`的动态链接库(DLL),通过在CMakeLists.txt中设置Fluent版本、2/3D相关参数以及头文件和源文件路径,以及环境变量,可以直接进行UDF的编写。
增强代码可移植性,设置环境变量指向Fluent的安装位置,这样在复制代码到不同计算机时,无需在CMakeLists.txt中显式指定路径。配置完成后,只需在CMakeLists.txt中设置相关参数,即可实现自动编译。
在编译完成后,DLL文件会被放置在由CMake自动生成的`lib_name/win`目录下。加载UDF时,只需在Fluent的`case`文件夹中输入库文件夹名即可。
使用IDE如VS或CLion进行调试时,设置调试模式为`debug`,以便生成带有调试信息的库。加载UDF后,将调试器附加到Fluent进程(通常为`fl`和`fl_mpi`),在源代码中设置断点,可以实时查看变量值的变化,甚至单步执行代码。
通过IDE的代码补全、错误提示、高亮显示、重构等功能,jxls源码解读可以显著提高编写UDF的效率。IDE工具提供的“转到声明”(Ctrl+B)功能,能够快速定位到变量或函数的定义位置,避免了在大型代码库中寻找代码来源的困扰。
总结,使用CMake结合现代IDE进行Fluent UDF的编译与调试,不仅能够解决配置环境变量的复杂性,还提供了强大的开发工具支持,使得UDF的开发过程更加高效、便捷。这种方法不仅适用于简单的UDF,对于复杂表达式的处理也尤为有用,通过调试功能,可以深入分析代码行为,确保UDF的正确运行。
WSL2 安装并下载、编译AOSP源码
安装WSL2
参考链接:安装WSL要求Windows 版本及更高版本(内部版本及更高版本)或Windows 。在power shell或cmd执行如下命令。
执行完之后就安装了Linux for Windows,并且打开了Windows的虚拟机平台和Linux子系统功能,并设置wsl默认版本为2。也可以手动安装,先在控制面板中找到启用或关闭Windows功能,勾选虚拟机平台和适用于Linux的Windows子系统功能。然后在应用商店找到Linux子系统(例如Ubuntu)进行安装。
如果是升级安装wsl,可能还需要同时升级linux内核。直接下载msi升级安装文件,点击安装即可。具体可参考:旧版WSL的手动安装步骤
硬盘设置
这里分为两类,一是将AOSP源码放在Windows文件系统下,二是将源码放置在WSL中。对于前者,需要修改文件目录的大小写敏感,新建完源码目录后,用管理员身份打开Windows的Powershell,执行以下命令:
其中的path就是刚新建用来同步AOSP源码的目录,需要注意的是,这个命令只对指定的目录有效,不会改变已存在的子目录的大小写敏感,所以要在同步代码之前设置好。根据文章:WSL编译AOSP必要的几个前置工作,还需要重新挂载磁盘。hppt协议源码如果源码放在了Windows驱动器上,比如说F:\aosp,在WSL中的路径应该是/mnt/f/aosp这种形式的,此时需要以drvfs文件系统重新挂载盘符,否则编译到中途会报错:
注意,每次WSL重启,在编译之前都需要执行这步操作,也可以将它新建成WSL的一个开机服务,确保每次打开WSL都会执行这两段命令。如果是将源码放置在WSL中,需要注意WSL默认占用C盘空间,保证C盘有足够的空间,或者将WSL迁移到别的盘符。因为我的硬盘没有分区,不用担心占满C盘的空间,所以直接将源码放在WSL中编译。WSL安装之后默认是GB大小,对于AOSP的编译是不够的。可通过df命令查看容量,下面是我编译完之后的容量,可以看到占用了GB。
扩展WSL 2虚拟硬盘的大小 如何管理WSL磁盘空间
输出如下:
经过如上操作,将wsl的虚拟磁盘大小调整到1TB。
源码下载
创建bin,并加入path:
下载repo:
下载代码有两种方式,使用每月更新的初始化包或者传统初始化方式。
下载mirrors.tuna.tsinghua.edu.cn...,下载完成后记得根据checksum.txt的内容校验一下。由于所有代码都是从隐藏的.repo目录中checkout出来的,所以我们只保留了.repo目录,下载后解压再repo sync一遍即可得到完整的目录。使用方法如下:
此后,每次只需运行repo sync即可保持同步。
建立工作目录并初始化仓库: repo init -u mirrors.tuna.tsinghua.edu.cn... 如果需要某个特定的Android版本(列表): repo init -u mirrors.tuna.tsinghua.edu.cn... -b android-4.0.1_r1 同步源码树(以后只需执行这条命令来同步): repo sync 详细可见:AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror Android源码(AOSP)下载与编译 - 掘金
设置WSL内存大小
直接编译源码,会因为内存不足导致失败,通过free -m查看内存,只有4GB内存,swap空间只有2GB。可以通过设置WSL配置文件来修改相关配置属性。在用户目录下新建.wslconfig文件,在文件管理器输入%USERPROFILE%可找到用户文件夹。注意这里新建.wslconfig文件不要用新建文本文件的方式,这样文件可能没法被正确识别。可以通过命令行输入code .wslconfig的方式。
配置文件如下,根据自己的硬件配置尽可能多的分配多点资源,在编译完成后也能修改回来。我电脑是GB内存,所以给WSL配置GB内存,还有GB swap空间。
编译源码
编译源码就是常规流程,lunch项根据自己需要进行选择,编译线程数根据机器配置选择。
编译可能会报错缺少库文件,直接安装即可。sudo apt-get install libncurses5 如果需要编译出CMakeLists文件,方便导入CLion,需要在编译前添加环境变量。
编译成功!!
导入Clion效果。
若需要导入Android Studio中,还需要生成配置索引。
这一步需要Java环境,提前安装一下。sudo apt install openjdk--jdk
最终效果如下:
linux本地clion调试TVM源码环境搭建
首先,从网上下载TVM源码和LLVM,然后解压LLVM文件。
接着,使用Clion打开TVM源码以CMake工程形式,确保在CMake选项中配置了解压后的LLVM路径。
在成功加载CMake工程后,进行编译操作,点击工具栏上的编译按钮,编译结果会生成一个动态库文件,如libtvm.so。
若遇到编译错误提示“unrecognized command line option ‘-fuse-ld=lld”,检查并升级gcc版本以解决此问题。
仅需编译TVM代码即可开始调试工作,无需额外编译其他组件。
准备Python代码执行环境,调整环境变量,确保PYTHONPATH指向TVM源码中的Python包路径,同时设置LD_LIBRARY_PATH指向动态库生成路径。
尝试运行自编写的Python脚本,验证环境配置是否正确。
为了调试C++源码,创建一个CMake应用,例如命名为cppEntrance,配置程序参数为待调试的Python脚本路径,并在环境变量中保持与Python脚本相同的设置。
找到对应Python接口的C++代码入口,设置断点,启动cppEntrance调试,即可进入TVM的C++代码调试。
对于查找TVM接口对应的C++代码入口,除全局搜索外,可能存在其他方法或工具。欢迎在评论区分享您的经验或建议。
gcc、clang、make、cmake、makefile、CMakeLists.txt概念学习
编译器是将人类可读的源代码转化为计算机能执行的目标代码的工具。不同计算机架构需要不同的编译器进行翻译。gcc和clang都是编译器,可以编译多种语言,如C/C++、FORTRAN、JAVA等,其中gcc适用于多种架构,而clang专为Mac OS优化,编译速度更快且错误提示更友好。
然而,光有编译器是不够的,当项目包含多个文件时,手动编译每一个文件将非常繁琐。此时,make和cmake工具就派上了用场。make工具通过makefile文件中的命令自动化编译流程,简化了多文件项目的编译工作。而cmake则更进一步,通过CMakeLists.txt文件自动生成makefile,支持跨平台编译,极大地提升了开发效率。
makefile文件包含了一系列命令,指引make工具如何编译和链接特定的源文件。例如,用户可能在makefile中写下“gcc -o test.c”这样的命令。另一方面,CMakeLists.txt文件是由开发者编写,指导cmake生成对应的makefile。使用IDE(如Clion)时,这些文件可以由IDE自动生成,但也可能需要开发者进行修改以解决潜在的错误。
总结而言,gcc和clang提供源代码到目标代码的转换服务,make和cmake简化了多文件项目的编译流程,makefile和CMakeLists.txt文件则分别由make和cmake使用,前者执行编译命令,后者指导生成对应的makefile。
现代化 C++ 开发工具 CLion:从入门到精通
现代化 C++ 开发工具 CLion,是 JetBrains 公司的一款集 C++ 开发、编译、调试和版本控制为一体的全面工具,深受开发者的喜爱。相较于传统的 Eclipse,CLion 在功能上更为强大,用户体验更佳,尤其在 C++ 开发领域。
在配置 CLion 时,需要准备几个必备组件:clion 安装、cygwin、jce release 文件以及taf 源码,这些都可以在 的开发机上通过 samba 访问。建议使用推荐的字体 Lucida Sans Typewriter,并集成一系列开源插件和自定义插件,以增强开发效率。
在使用 CLion 时,可以直接引入单个服务项目,避免复杂目录的引入。通过“Tools”菜单可以实现快速同步部署,确保本地服务目录文件自动同步到目标编译目录。配置好同步后,可以尝试使用智能提示功能,以验证其是否正常工作。
CLion 提供了丰富的功能,如 Live Tempalte(模板代码生成)、快捷键(如 Shift+Ctrl+N、Ctrl+E等)和窗口切换(Alt+F2)等,这些功能极大地提高了开发效率。例如,使用 Shift+Enter 可以在新窗口打开文件,Alt+Shift+方向键可以实现代码的移动和命名等操作。
CLion 还提供了自动同步、代码格式化、跳转和语法提示等功能,如格式化代码(Alt+Ctrl+L)、字符串转换(Alt+M)等,这些功能进一步提升了开发者的编程体验。尽管存在一些小 bug,但官方提供了 GitHub 地址供用户报告问题和贡献代码,以便共同维护和优化工具。
C/C++编译器:Clion!超详细安装和配置教程,你学会了吗?
CLion,由Jetbrains开发的C/C++ IDE,相较于动辄数百兆的Visual Studio,其安装包仅约M,功能强大且与Visual Studio不相上下,支持丰富的插件。如果你之前使用过Jetbrains旗下的PHPStorm、WebStorm、PyCharm、IntelliJ IDEA、Android Studio或Rider,会发现CLion操作起来毫不费力。尽管社区版的IntelJ IDEA免费提供,但Jetbrains全家桶产品均为付费版本。购买正版不仅支持官方持续优化IDE,也意味着享有更好的使用体验。
安装CLion极为简便,访问官网jetbrains.com/clion/下载安装包后,双击执行安装程序,一路Next即可完成安装。作为一款编辑器,CLion并不自带编译和调试工具,因此需要配合第三方工具使用。推荐选择MSYS2或Cygwin作为构建工具,它们能有效提升开发效率。
MSYS2和Cygwin在实现nix环境模拟上各有特色,MSYS2执行的是原生Windows程序,而Cygwin则通过模拟方式运行nix命令。MSYS2适用于需要直接执行编译出的exe文件的情况,而Cygwin则适用于在Windows环境下运行nix命令的场景。选择时需根据实际需求进行判断。
使用Cygwin时,首先需从官网cygwin.com/setup-x_...下载安装程序。安装流程相对直观,主要包括选择网络安装、指定安装位置、选择临时目录、网络连接类型、安装源、安装包选择、确认安装等步骤。确保安装过程中选择了最新版本的gcc、make和gdb等核心工具,以保证开发环境的稳定性和兼容性。
相比之下,MSYS2提供了更为先进的包管理工具pacman,简化了软件包的安装流程,提升了开发效率。安装MSYS2同样从官网下载安装exe文件并双击执行,然后在MSYS2界面输入pacman -S mingw-w-x_-toolchain命令来安装编译工具链,整个过程快速且简洁。
配置CLion时,在设置中找到“Build, Execution, Deployment”选项,创建名为Cygwin或MinGW的编译工具链,并在“Environment”中选择相应的环境配置。设置编译工具链的路径后,CLion将自动检测并识别工具,简化了开发流程。完成配置后,即可开始愉快的C++开发旅程。
掌握C/C++编程知识,对于提升编程技能和成为高薪软件开发工程师至关重要。为此,可关注公众号“C语言编程学习基地”,获取源码、项目实战视频、项目笔记、基础入门教程等资源,为职业发展打下坚实基础。