clion编译C++

clion编译C++,第1张

ld returned 1 exit status,说明当你编译你的源码的时候, untitled2.exe(旧版)正在运行,而编译源码会重新生成 untitled2.exe(即改写 可执行文件untitled2.exe的内容),但系统不允许你改写一个正在运行中的悔咐悔简悔.exe文件的内容,所以碧正报错。你应该先退出 untitled2.exe的运行,再编译。

当在mac系统下编写c++程序时候,一般需要使用Xcode。如果不想装Xcode如何编译、运行程序呢?

一种方法是编写makefile文件,用makefile文件管理程序脚本之间的相互依赖关系

一、CMake是一种跨平台编译工具,比make更为高级。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序

二、cmake  指向CMakeLists.txt所在的目录,例如cmake .. 表示CMakeLists.txt在当前目录的上一级目录

cmake会生成很多中间文件,所以建议新建一个文件夹存放,分四个步骤:

1、mkdir bulid  //新建文件夹存放编译的中间文件

2、cd bulid //进入bulide文租闷件夹

3、cmake .. //因为CMakeLists.txt文件在当前目录的外面,所以cmake命令需要使用cmake ..

4、make //make命令根据makefile文件编译源码,在bulid目录下生成一个可执行文件,运行获取结果

CMakeLists.txt主要包含以上的7个步骤:

#1.cmake verson,指定cmake版本

cmake_minimum_required(VERSION 3.13)

#2.project name,指定项目的名称,一般和项目弊碰弯的文件夹名称FirstProject对应

PROJECT(FirstProject)

#3.head file path,头文件目录

INCLUDE_DIRECTORIES()

#4.source directory,吵团源文件目录

AUX_SOURCE_DIRECTORY(src DIR_SRCS)

#5.set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"

SET(TEST_MATH)

#6.add executable file,添加要编译的可执行文件

ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})

#7.add link library,添加可执行文件所需要的库(命名规则:lib+name+.so),就添加该库的名称

TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)

不建议在 CMakeLists.txt 里面弊或耐直接设置 CMAKE_CXX_COMPILER,毕竟文件里那部分是通租春用的团州。

可以在调用 cmake 的时候加上参数,如

cmake -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12564135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存