小编mon*_*mon的帖子

了解CMake,make和GCC的角色

1. cmake是来自CMake软件的命令:为构建自动化系统做准备; make和make install是来自Make software:build automation system的命令.

2.从阅读这个帖子,我的理解是:

一个.这个"cmake和make"的东西实际上在其实现中使用g ++/gcc.cmake和make stuffs基本上只是使用g ++/gcc的工具.那是对的吗?

gcc/g ++是执行实际工作的编译器.

C.所以我可以直接使用gcc/g ++而不使用make和CMake的东西?

3. 根据此stackoverflow 答案:CMake获取CMakeList.txt文件,并将其输出为特定于平台的构建格式,例如Makefile,Visual Studio等.

但是当我遇到这个 openCV安装时:

mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
Run Code Online (Sandbox Code Playgroud)

它在没有CMakeLists.txt文件的目录中执行cmake命令.你能解释一下这个吗?

4,我已经看到通常的步骤是:cmake,make,sudo make install.我读了这篇stackoverflow 文章,我明白了:

(i) make用于建设项目.

(ii) make install将二进制/可执行文件复制到已安装的目录.

一个.那么当我们make,结果/二进制文件/可执行文件存储在哪里?

如果我们只运行make没有make install,是否意味着没有生成文件?

C.我遇到了这个openCV 教程,关于使用openCV和GCC以及CMake.它用:

cd <DisplayImage_directory>
cmake . …
Run Code Online (Sandbox Code Playgroud)

gcc makefile cmake

14
推荐指数
1
解决办法
6373
查看次数

在两个语句中创建引用变量

int x;
int& foo = x;

// foo is now a reference to x so this sets x to 56
foo = 56;
Run Code Online (Sandbox Code Playgroud)

如何将语句拆分int& foo = x;为两个语句?

通过拆分,我的意思是使用两个语句,如下例所示:

int y;
int* ptr = &y;
Run Code Online (Sandbox Code Playgroud)

我可以把它int* ptr = &y分成两个声明指针的语句.

int* ptr;
ptr = &y; //then assigning the pointer to point to y
Run Code Online (Sandbox Code Playgroud)

怎么做类似的东西参考?我也在寻找关于为什么或为什么不解释的解释?

c++ reference

2
推荐指数
1
解决办法
173
查看次数

为什么程序员使用void*

我正在学习动力学数据结构,例如malloc功能.为什么有时程序员使用void*指针参数(例如)整数和字符的动态变量?有什么区别?有什么好处?

c pointers void dynamic-memory-allocation

2
推荐指数
1
解决办法
379
查看次数

标签 统计

c ×1

c++ ×1

cmake ×1

dynamic-memory-allocation ×1

gcc ×1

makefile ×1

pointers ×1

reference ×1

void ×1