由于某些原因,cmake忽略了我的工具链文件:
lynxos.cmake:
set(CMAKE_SYSTEM_NAME LynxOS)
set(CMAKE_CROSSCOMPILING TRUE)
set(CMAKE_CXX_COMPILER /usr/los178/2.3.0/x86_dev/cdk/linux-coff-x86/usr/bin/g++)
set(CMAKE_C_COMPILER /usr/los178/2.3.0/x86_dev/cdk/linux-coff-x86/bin/gcc)
set(CMAKE_FIND_ROOT_PATH /usr/los178/2.3.0/x86_dev/cdk/linux-coff-x86/)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)呼叫cmake:
cmake -DCMAKE_TOOLCHAIN_FILE=lynxos.cmake -DUSE_TINY_XML=TRUECMAKE_CXX_COMPILER仍然默认为我的默认编译器。使用命令行中的CMAKE_CXX_COMPILER设置-D可以工作,但cmake给出了警告:
You have changed variables that require your cache to be deleted.
Configure will be re-run and you may have to reset some variables.
The following variables have changed:
CMAKE_C_COMPILER= <path to compiler>
CMAKE_CXX_COMPILER= <path to compiler>然后,我的其他cmake变量变得没有定义。
尝试删除CMakeCache.txt文件。不起作用。使用CMake 2.8.11。你知道怎么回事吗?
发布于 2014-01-27 19:44:21
CMake创建了多个缓存文件,我首先尝试从一个完全不同的目录中创建它。
发布于 2018-08-17 04:35:40
每当您运行cmake时,始终使用干净的目录。如果您使用ls -a,您将看到很多缓存文件。如果您再次尝试运行cmake,它可能会使用大量这些缓存的文件。我最近也碰到了这个问题。只需cd ..; rm -rf build/**;cd build就可以清理目录并再次运行cmake。
https://stackoverflow.com/questions/21387828
复制相似问题