lit*_*tuk 94 c++ cmake visual-studio
我正在尝试使用CMake来编译opencv.
我正在阅读教程,但无法理解什么是CMakeLists文件,它是如何连接到CMake的gui的?
也无法理解什么是makefile,它们是否与CMakeLists相同?
我最终用visual-studio打开哪个文件?
Bas*_*tch 137
我不知道Windows(从未使用过它),但在Linux系统上你只需要创建一个构建目录(在顶级源目录中)
mkdir build-dir
Run Code Online (Sandbox Code Playgroud)
进去吧
cd build-dir
Run Code Online (Sandbox Code Playgroud)
然后运行cmake并指向父目录
cmake ..
Run Code Online (Sandbox Code Playgroud)
最后跑 make
make
Run Code Online (Sandbox Code Playgroud)
请注意,make并cmake有不同的程序.cmake是一个Makefile生成器,该make实用程序由Makefile文本文件管理.请参阅 cmake和制作维基百科页面.
注意:在Windows上,cmake可能会运行,因此可能需要以不同方式使用.你需要阅读文档(就像我为Linux做的那样)
hol*_*olt 29
CMake获取CMakeList文件,并将其输出为特定于平台的构建格式,例如Makefile,Visual Studio等.
您首先在CMakeList上运行CMake.如果您使用的是Visual Studio,则可以加载输出项目/解决方案.
小智 9
CMake(跨平台制作)是一个构建系统生成器。它不会构建您的源代码,而是生成构建系统所需的内容:构建脚本。这样做您不需要编写或维护特定于平台的构建文件。CMake 使用相对高级的CMake 语言,通常编写在CMakeLists.txt文件中。使用第三方库时的一般工作流程通常归结为以下命令:
cmake -S thelibrary -B build
cmake --build build
cmake --install build
Run Code Online (Sandbox Code Playgroud)
第一行称为配置步骤,这会在您的系统上生成构建文件。-S(ource) 是库源,-B(uild) 文件夹。CMake 根据您的系统回退生成构建。Windows 上是MSBuild , Linux 上是GNU Makefiles 。您可以使用(生成器)参数指定构建-G,例如:
cmake -G Ninja -S libSource -B build
Run Code Online (Sandbox Code Playgroud)
此步骤结束时,会在构建目录中生成构建脚本,例如Makefile、 * .sln文件等。
第二行调用实际的构建命令,就像调用make构建文件夹一样。
第三行安装库。如果您使用的是 Windows,您可以通过以下方式快速打开生成的项目cmake --open build。
现在,您可以在项目中使用由 CMake 配置的已安装库,编写您自己的 CMakeLists.txt 文件。为此,您需要创建一个目标并使用find_package命令查找安装的包,该命令将导出库目标名称,并将它们链接到您自己的目标。
从 Windows 终端进行 Cmake:
mkdir build
cd build/
cmake ..
cmake --build . --config Release
./Release/main.exe
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118035 次 |
| 最近记录: |