我在CMake (2.8.7)和gcc 4.6.3中使用Qt 2.5,最近我遇到了这个奇怪的错误:
-1:错误: CMakeFiles/yahtzee.dir/gamecontroller.cpp.o错误1文件未找到
我能做些什么?CMake不会生成这个gamecontroller.cpp.o
这是我的CMakeLists.txt文件
project(cpp_workshop)
cmake_minimum_required(VERSION 2.6)
# Set default compile flags for GCC
if(CMAKE_COMPILER_IS_GNUCXX)
message(STATUS "GCC detected, adding compile flags")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pedantic -Wall -Wextra -Werror")
else()
message(STATUS "GCC not detected, probably running Windows")
endif(CMAKE_COMPILER_IS_GNUCXX)
#add_definitions("-Wall -Werror")
ADD_DEFINITIONS("-Wno-unused-parameter")
add_executable(yahtzee #name of the executable
gamecontroller.h gamecontroller.cpp
player.h player.cpp
game.h game.cpp
dice.h dice.cpp
strategy.cpp strategy.h
istrategy.h
game_rules.h
main singleton
)首先要提到的是,所有这些文件都位于目录中,这是CMake创建的“构建”目录:
CMakeCache.txt CMakeFiles cmake_install.cmake cpp_workshop.cbp Makefile和上面的CMakeFiles dir
CMakeCCompiler.cmake CMakeDirectoryInformation.cmake CompilerIdCXX TargetDirectories.txt
cmake.check_cache CMakeOutput.log Makefile2 yahtzee.dir
CMakeCXXCompiler.cmake CMakeSystem.cmake Makefile.cmake
CMakeDetermineCompilerABI_C.bin CMakeTmp Progress
CMakeDetermineCompilerABI_CXX.bin CompilerIdC progress.marks发布于 2012-07-19 08:27:09
好的,问题是Cmake的论点被传递给gcc了。
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
我把它改成了
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
现在起作用了。令人惊讶的是,C++11还没有和gcc合作吗?
https://stackoverflow.com/questions/11556461
复制相似问题