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) 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)
怎么做类似的东西参考?我也在寻找关于为什么或为什么不解释的解释?
我正在学习动力学数据结构,例如malloc功能.为什么有时程序员使用void*指针参数(例如)整数和字符的动态变量?有什么区别?有什么好处?