我想检查我的C ++项目是否在旧版本的GCC上编译。因此,我已经安装了较旧的版本,并希望CMake使用它来编译我的项目。
关于更改编译器的CMake FAQ 告诉我这是正确的方法:
CC = gcc-4.4 CXX = g ++-4.4 cmake -G“ Unix Makefiles” ..
所以这是我输入的内容,CMake看起来运行良好:
chris @ chris-machine:〜/ projects / myProject / build $ CC = gcc-4.4 CXX = g ++-4.4 cmake -G“ Unix Makefiles” .. -找到PythonInterp:/ usr / bin / python(找到版本“ 2.7.4”) -寻找包含文件pthread.h -寻找包含文件pthread.h-找到 -寻找pthread_create -寻找pthread_create-找不到 -在pthreads中寻找pthread_create -在pthread中寻找pthread_create-找不到 -在pthread中寻找pthread_create -在pthread中寻找pthread_create-找到 -找到的线程:TRUE -配置完成 -完成生成 -构建文件已被写入:/ home / chris / projects / myProject / build
但是,现在查看CMakeCache.txt,我发现:
// CXX编译器。 CMAKE_CXX_COMPILER:FILEPATH = / usr / bin / c ++
显然,CMake没有使用我指定的编译器。当我将此行更改为使用g ++-4.4并再次运行CMake时,它将创建一个无限循环:
chris @ chris-machine:〜/ projects / myProject / build $ CC = gcc-4.4 CXX = g ++-4.4 cmake -G“ Unix Makefiles” .. -配置完成 您更改了需要删除缓存的变量。 配置将重新运行,您可能必须重置一些变量。 以下变量已更改: CMAKE_CXX_COMPILER = /usr/bin/g++-4.4 -找到PythonInterp:/ usr / bin / python(找到版本“ 2.7.4”) -寻找包含文件pthread.h -寻找包含文件pthread.h-找到 -寻找pthread_create -寻找pthread_create-找不到 -在pthreads中寻找pthread_create -在pthread中寻找pthread_create-找不到 -在pthread中寻找pthread_create -在pthread中寻找pthread_create-找到 -找到的线程:TRUE -配置完成 您更改了需要删除缓存的变量。 配置将重新运行,您可能必须重置一些变量。 以下变量已更改: CMAKE_CXX_COMPILER = /usr/bin/g++-4.4 -找到PythonInterp:/ usr / bin / python(找到版本“ 2.7.4”) // 等等...
为什么CMake不使用我指定的编译器,该如何解决?
小智 5
从链接您提供:
不能保证此方法适用于所有发电机
使用第二种方法:
cmake -G“您的生成器” -D CMAKE_C_COMPILER = gcc-4.4 -D CMAKE_CXX_COMPILER = g ++-4.4路径/到/您的/源
如果没有帮助:
| 归档时间: |
|
| 查看次数: |
4589 次 |
| 最近记录: |