相关疑难解决方法(0)

CMakeLists.txt上的CMake错误:30(项目):找不到CMAKE_C_COMPILER

我正在尝试用CMake制作一个Visual Studio解决方案来编译最新版本的aseprite并且CMake一直给我:

No CMAKE_C_COMPILER could be found.
No CMAKE_CXX_COMPILER could be found.
Run Code Online (Sandbox Code Playgroud)

我已经下载了GCC,我正在使用Visual Studio 2015.

我正在学习本教程:

https://github.com/aseprite/aseprite/blob/master/INSTALL.md

c++ gcc cmake visual-studio visual-studio-2015

90
推荐指数
7
解决办法
23万
查看次数

无法使用CMake指定编译器

我有这个CMakeLists.txt文件的问题:

cmake_minimum_required(VERSION 2.6)

SET(CMAKE_C_COMPILER C:/MinGW/bin/gcc)
SET(CMAKE_CXX_COMPILER C:/MinGW/bin/g++)

project(cmake_test)

add_executable(a.exe test.cpp)
Run Code Online (Sandbox Code Playgroud)

使用:调用cmake cmake -G "MinGW Makefiles",它失败并显示以下输出:

c:\Users\pietro.mele\projects\tests\buildSystem_test\cmake_test>cmake -G "MinGW Makefiles" .
-- The C compiler identification is GNU 4.6.1
-- The CXX compiler identification is GNU 4.6.1
-- Check for working C compiler: C:/MinGW/bin/gcc
CMake Error: your C compiler: "C:/MinGW/bin/gcc" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C …
Run Code Online (Sandbox Code Playgroud)

gcc mingw cmake

43
推荐指数
2
解决办法
10万
查看次数

CMake:解析文件的顺序(缓存,工具链等)?

这似乎是一个微不足道的问题,因为CMake是一种脚本语言,一般的答案是:严格顺序.但是我遇到了几个案例,其中重要的是CMake在何时或以何种顺序解析某些文件.所以我想知道:

  1. 是否有可用的文档描述解析文件(包括内部CMake文件)的顺序?
  2. 文件顺序是否取决于CMake版本或某些CMake选项/设置/环境incl.选择的发电机或主机环境?

到目前为止我遇到的案例,上述信息很重要:

也许你知道更多.

为了找到答案,我尝试了以下内容:我已经设置了一个简单的主CMakeLists.txt,如下所示,并运行cmake --trace …以分析解析顺序.

cmake_minimum_required(VERSION 2.8)

include(BeforeProjectCmd.cmake)

project(ParserTest CXX)

add_subdirectory(LibTarget1)
add_subdirectory(LibTarget2)

add_executable(ExeTarget Test.cpp)

variable_watch(CMAKE_BACKWARDS_COMPATIBILITY)
Run Code Online (Sandbox Code Playgroud)

然后,当我运行时,cmake --debug-output --trace -G"Visual Studio 12 2013" -DCMAKE_TOOLCHAIN_FILE:FILE_PATH=Toolchain.txt我得到了一个很长的痕迹,我试图总结:

# Begin try to read
CMakeCache.txt
${CMAKE_BINARY_DIR}/CMakeCache.txt
PreLoad.cmake
${CMAKE_BINARY_DIR}/PreLoad.cmake
# End try to read

? CMakeLists.txt(1):  cmake_minimum_required(VERSION 2.8 )
? CMakeLists.txt(3):  include(BeforeProjectCmd.cmake )
?
?? BeforeProjectCmd.cmake
?
? CMakeLists.txt(5):  project(ParserTest CXX )
?? share/cmake-3.2/Modules/CMakeDetermineSystem.cmake
??
??? Toolchain.txt
?
?? ${CMAKE_PLATFORM_INFO_DIR}/CMakeSystem.cmake
??
??? …
Run Code Online (Sandbox Code Playgroud)

cmake

25
推荐指数
1
解决办法
4767
查看次数

将CMake与多个编译器一起用于同一种语言

看起来CMake在其视图中已经相当根深蒂固,所有C++源文件应该只有一个CMAKE_CXX_COMPILER.我无法找到一种在每个目标的基础上覆盖它的方法.这使得在单个CMakeLists.txt中混合主机和交叉编译非常困难,内置的CMake工具.

所以,我的问题是:对于同一种语言(即C++)使用多个编译器的最佳方法是什么?

c++ configuration build cmake

22
推荐指数
3
解决办法
7445
查看次数

CXX中cmake CMakeLists.txt文件中的"XX"是什么.

CXX中cmake CMakeLists.txt文件中的"XX"是什么.
它的意义是什么.

为什么CPX文件中的"XX"不是PP?

c++ cmake

9
推荐指数
2
解决办法
5324
查看次数