我正在尝试使用CMake设置我的交叉编译版本.到目前为止,我正在设置从命令行调用CMake的交叉编译器文件:
#Call cmake with the given options
cmake -D CMAKE_TOOLCHAIN_FILE=$cross_cmp_file \
-D BUILD_TESTS:BOOLEAN=$build_test \
../src
Run Code Online (Sandbox Code Playgroud)
这很好用.
现在我试图通过添加以下内容从GUI设置CMAKE_TOOLCHAIN_FILE变量:
#CMAKE cross compiler file
set(CMAKE_TOOLCHAIN_FILE "Toolchain file" CACHE FILEPATH "../arm-crosscompile.cmake")
Run Code Online (Sandbox Code Playgroud)
到我的CMakeLists.txt.
这实际上显示了GUI中的变量,但是当我按下"配置"按钮时,出现在CMAKE_CXX_COMPILER变量中的c ++编译器是默认情况下的那个,而不是工具链文件中指定的那个.
如何从Cmake-GUI设置工具链文件?
我正在尝试使用CMake配置assimp的示例
但是配置时有一些错误
我已经尝试了很多方法,但是没有人起作用。
CMake Error at CMakeLists.txt:41 (INSTALL):
install TARGETS given no RUNTIME DESTINATION for executable target
"assimp_simpletexturedogl".
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as
cmake_minimum_required(VERSION 3.2)
should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it. …Run Code Online (Sandbox Code Playgroud) 我是CMake的初学者,最近刚刚将我当前的项目从Visual Studio 2015解决方案迁移到CMake项目.我花了几天时间,但现在我正处于我的项目完全迁移的地步,生成的Visual Studio解决方案看起来和感觉完全像原始解决方案.使用MSVC和平台工具集v140时,我仍然可以构建我的项目.在完成所有这些之后,我想通过使用不同的编译器构建我的项目来尝试CMake的好处.特别是,在我的项目中有一些与模板相关的代码,我认为它不是非常符合标准的,所以我想用Clang构建它,我知道它比MSVC在模板相关的东西上更严格.为此,我启动了CMake GUI,选择了源代码和二进制路径,单击配置,选择"Visual Studio 14 2015"并在平台工具集字段中键入"v140_clang_3_7",保持所有其他设置不变.
不幸的是,在执行此操作时,CMake无法配置(并生成)我的解决方案,并出现以下错误:
The C compiler identification is Clang 3.7.0
The CXX compiler identification is Clang 3.7.0
Check for working C compiler using: Visual Studio 14 2015
Check for working C compiler using: Visual Studio 14 2015 -- broken
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler "C:/Program Files (x86)/Microsoft Visual Studio
14.0/VC/bin/cl.exe" is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/Users/marku/Desktop/build_muell/CMakeFiles/CMakeTmp
Run …Run Code Online (Sandbox Code Playgroud) 我正在使用 Cmake-gui 并且它工作正常,突然它开始崩溃。每当我尝试打开它时,它都会被添加到任务栏,但应用程序没有打开。我也等了好几个小时。我也尝试安装以前的版本,但同样的事情正在发生。我正在使用 Windows 10 和 Cmake 3.16 版。
我正在使用 cmake 为 Visual Studio 生成解决方案,并且效果很好。
我注意到作为构建的一部分,它还会在 Visual Studio 上生成一个名为 install 的目标,据说是为了安装构建文件(例如库或包含文件),但是我如何在 Visual Studio 上使用它呢?
我选择这个目标并尝试构建或运行它,但没有任何成功或任何结果(没有将文件复制到其他任何地方等等)。
你能帮我如何在visual studio中使用安装目标来安装生成的文件(在我的例子中它是一个库)。
我正在起诉 cmake gui,但如果需要,我可以使用 cmake 命令行。
我知道它是为我的 cmake 文件上的安装目标生成的,但我的问题是如何运行它?
当我在 VS 解决方案上构建安装时,出现此错误:
Error 3 error MSB3073: The command "setlocal
"C:\Program Files (x86)\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
:VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 132 5 …Run Code Online (Sandbox Code Playgroud) 所以我试图在youtube上基于本教程配置一个文件非常简单:
https://www.youtube.com/watch?v=gYmgbqGfv-8
我在Windows 10中使用CMake GUI,我有一个运行的Visual Studio 2015,它已经能够构建c ++项目(我已经使用了一段时间)
我使用"Visual Studio 15 2017"
我为两个输入创建了一个名为hellocmake和hellocmake/build的文件夹:
但是,当我尝试配置时,它说
CMakeLists.txt的CMake错误:1(项目):
找不到CMAKE_C_COMPILER.
CMakeLists.txt的CMake错误:1(项目):
找不到CMAKE_CXX_COMPILER.
错误日志指定它找不到两个编译器文件:编译C编译器标识源文件"CMakeCCompilerId.c"失败.编译器:
构建标志:Id标志:
The output was:
The system cannot find the file specified
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler:
Build flags:
Id flags:
The output was:
The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)
我尝试下载"CMakeCXXCompilerId.cpp"和"CMakeCXXCompilerId.c"文件,并尝试在同一文件夹中手动添加它们,但它没有解决它
我试图查找其他几个有类似情况的来源,但我似乎无法理解它们.我的旧电脑不存在这个问题所以我认为它与Visual Studio有关?
谢谢你们,任何帮助将不胜感激
我这样添加QT:
find_package(Qt5 COMPONENTS Core Quick REQUIRED)
...
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Quick ${OpenCV_LIBS})
Run Code Online (Sandbox Code Playgroud)
但是cmake发现了一些python工件而不是预期的C:\ QT ...
我该如何更改?试图找到一些示例,但没有找到任何明确的指令,我应该在C:\ QT \的哪个子文件夹中指定(任何位置)。
对于Macos,我想链接到一些框架.在Windows中,我想链接到一些库.
例如,OpenGL Framework,如何使用cmake表达这个要求?
我正在尝试使用 CMake GUI 创建 Ninja 构建文件。
我尝试使用 Brew 手动在 macOS 上安装 Ninja。两次我都确保 ninja 在 PATH 上可用,但 CMake GUI 始终无法找到 ninja。
CMake 错误:CMake 无法找到与“Ninja”对应的构建程序。CMAKE_MAKE_PROGRAM 未设置。您可能需要选择不同的构建工具。
命令行上的 CMake 能够找到 ninja。只是 cmake-GUI 不是。
任何提示都高度赞赏。