windows 搭建cmake和gcc编译环境 问题记录

  1. 增加cmake或者gcc的环境变量不能立即生效可以在命令行执行

    set PATH=C:\Software\cmake\bin;C:\MinGW\bin\;
    

    临时添加PATH 不必重启电脑

  2. 在build目录下执行命令: cmake … 错:

    D:\test_argtable3\build>cmake ..
    -- Building for: NMake Makefiles
    CMake Error at CMakeLists.txt:5 (project):
      Running
    
       'nmake' '-?'
    
      failed with:
    CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
    CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
    -- Configuring incomplete, errors occurred!
    See also "D:/test_argtable3/build/CMakeFiles/CMakeOutput.log".
       系统找不到指定的文件。
    

    问题是因为cmake默认使用windows的nmake程序(本机没有所以提示找不到nmake),因此需要指明cmake要生成mingw make使用的makefile文件:cmake -G"MinGW Makefiles" …
    但是又有报错

  3. 使用正确命令却提示失败

    D:\test_argtable3\build>cmake -G"MinGW Makefiles" ..
    CMake Error: Error: generator : MinGW Makefiles
    Does not match the generator used **previously: NMake** Makefiles
    Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.
    

    cmake会在前次执行结果文件的基础上直接执行,但是发现上次用的是NMake,与本次指定的MinGW不一致,所以报错,解决方法:将build目录的生成文件全部删除,再次执行ok

  • 23
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
搭建 Linux 和树莓派的交叉编译环境,需要完成以下几个步骤: 1. 安装交叉编译工具链 在 Linux 上使用交叉编译工具链来编译适用于树莓派的程序。可以在 Raspberry Pi 官网上下载适用于 Linux 的交叉编译工具链。 2. 配置环境变量 将交叉编译工具链的路径添加到系统的环境变量中,以便在命令行中使用。 例如,在 Ubuntu 系统中,可以编辑 /etc/environment 文件,添加以下代码: ``` export PATH=$PATH:/path/to/cross-compile-toolchain/bin ``` 将 /path/to/cross-compile-toolchain 替换为实际的交叉编译工具链路径。 3. 编写交叉编译脚本 编写一个简单的交叉编译脚本,以便能够快速编译适用于树莓派的程序。 例如,在使用 CMake 构建程序时,可以编写一个名为 raspberrypi.cmake 的脚本文件,将以下代码添加到 CMakeLists.txt 文件中: ``` set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) set(CMAKE_C_COMPILER /path/to/cross-compile-toolchain/bin/arm-linux-gnueabihf-gcc) set(CMAKE_CXX_COMPILER /path/to/cross-compile-toolchain/bin/arm-linux-gnueabihf-g++) set(CMAKE_FIND_ROOT_PATH /path/to/cross-compile-toolchain/arm-linux-gnueabihf/sysroot) ``` 将 /path/to/cross-compile-toolchain 替换为实际的交叉编译工具链路径。 4. 编译程序 使用交叉编译工具链编译程序。 例如,在使用 CMake 构建程序时,可以在命令行中运行以下命令: ``` mkdir build cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=raspberrypi.cmake make ``` 这将使用 raspberrypi.cmake 脚本文件来构建程序,并使用交叉编译工具链来编译程序。 完成上述步骤后,就可以在 Linux 上搭建树莓派的交叉编译环境
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值