我最近从使用code :: blocks开发到使用kdevelop进行开发。 (我厌倦了不稳定且无法设置键盘快捷键的代码块。)
据我了解,kdevelop使用cmake来控制源文件的构建......不确定原因,但是这就是决定的,所以我会忍受它。
我对cmake一无所知。我想这就像make?
我真正想知道的是如何将cmake设置为使用带有标记std=c++11
的g ++。
根据这个stackoverflow question,我应该可以使用list(APPEND CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- 但我认为这可能只适用于make而不是cmake ......?
任何人都知道如何在kdevelop中设置编译器选项?也有人可以解释为什么使用cmake,而不是我之前遇到的大多数其他IDE。我猜这是有充分理由的。
答案 0 :(得分:2)
我刚刚从KDevelop切换到QT Creator;我更喜欢后者,因为它更快,更稳定,并且具有非常好的代码和GUI设计工具。 QT Creator开设了各种各样的项目,包括CMake,qmake,最新的QT技术,GIT和SVN存储库。它也与valgrind很好地集成,这不是KDevelop功能。
以下是我在项目中使用的一些CMakeLists.txt
变量,它们在两个IDE中都有效:
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type")
set(CMAKE_CXX_FLAGS "--pedantic-errors -Wall -Wextra -Werror -ftabstop=4 -march=native -std=gnu++11 -fshow-column -ftabstop=4 -frounding-math -pipe ${FABIO_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb3 -DDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
set(FABIO_CXX_FLAGS "-Wall -Wextra -Werror -DFABIO_THREADS=2" CACHE STRING "C++ flags for the current directory")