一定要设置set(CMAKE_AUTOMOCON)#查找需要的Qt库文件,最好每一个库都要写,Qt也会根据依赖关系自动...
find_package(Qt5Xml) # ${QT_INCLUDE_DIRS} ${QT_LIBRARIES} and so on are all Qt4 Macro Definitions!!! include_directories(${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS}) #add_definitions(${Qt5Core_DEFINI...
int main(void) { print_hello(); return 0; } CMakeLists.txt: cmake_minimum_required (VERSION 3.10) project (hello) # 添加头文件路径 include_directories(include) # 查找src目录下的所有源文件并将名称保存到 SRC_DIR_SRCS 变量中 aux_source_directory(src SRC_DIR_SRCS) # 查找当前目录下的所有...
#include "test_func1/testFunc1.h" 只是这种写法不好看。 另外,我们使用了2次aux_source_directory,因为源文件分布在2个目录下,所以添加2次。 正规一点的组织结构 正规一点来说,一般会把源文件放到src目录下,把头文件放入到include文件下,生成的对象文件放入到build目录下,最终输出的elf文件会放到bin目录下,这样...
PROJECT(Iterator)#让cmake自动去寻找Qt5 FIND_PACKAGE(Qt5 COMPONENTS Widgets REQUIRED)#采用C++11标准 SET(CMAKE_CXX_STANDARD11)#查找当前目录下的所有源文件#并将名称保存到 DIR_SRCS 变量 AUX_SOURCE_DIRECTORY(. DIR_SRCS)#添加头文件路径 INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}"./IteratorFunction ....
QT_DIR=D:\Qt\6.1.2\msvc2019_64 set(CMAKE_PREFIX_PATH $ENV{QT_DIR}) # 有些项目会动态生成头文件,项目中需要引入它,因此需要将output目录也include进来 # 等同于INCLUDE_DIRECTORY(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) set(CMAKE_INCLUDE_CURRENT_DIR ON) # Qt6 对C++版本...
aux_source_directory(. DIR_LIB_SRCS) # 生成链接库 add_library (print_hello ${DIR_LIB_SRCS}) 1. 2. 3. 4. 5. 根目录下的CMakeLists.txt修改为: cmake_minimum_required (VERSION 3.10) project (hello) # 添加头文件路径 include_directories(include) ...
set(CMAKE_AUTOMOCON)#set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)#set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)set(CMAKE_INCLUDE_CURRENT_DIRON)aux_source_directory(. SRC_LIST) 2 . 如何添加Qt库 下面的这一段是如何添加Qt的库到程序内,对于Qt5来说,写法与Qt4存在较大差别,不再...
include) #指定链接目录 link_directories( ${jnilibs}/${ANDROID_ABI}) #查找所有源文件,保存到GLOB变量中 file(GLOB src-files ${CMAKE_SOURCE_DIR}/*.cpp ) #或者替换为使用aux_source_directory //aux_source_directory(${CMAKE_SOURCE_DIR} src-files) ...
CMake是一个主要用于CPP的构建工具。CMake语言是平台无关的中间编译工具。同一个CMake编译规则在不同系统平台构建出不同的可执行构建文件。在Linux产生MakeFile,在Windows平台产生Visual Studio工程等。CMake旨在解决各平台的不同Make工具的产生的差异(比如GNU Make, QT的qmake,微软的nmake, BSD的pmake)。