不管是SUBDIRS还是ADD_SUBDIRECTORY指令(不论是否指定编译输出目录),我们都可以通过SET指令重新定义EXECUTABLE_OUTPUT_PATH和LIBRARY_OUTPUT_PATH变量来指定最终的目标二进制的位置(指最终生成的hello或者最终的共享库,不包括编译生成的中间文件) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) SET(LIBRARY_OUTPUT_...
指定库文件的输出路径 指定库文件的输出路径有两种方法:设置EXECUTABLE_OUTPUT_PATH指定输出路径,设置LIBRARY_OUTPUT_PATH指定输出路径。 使用EXECUTABLE_OUTPUT_PATH指定输出路径只对动态库有效,因为Linux下生成的动态库默认是有执行权限的,而静态库没有。 我们在这只演示通过LIBRARY_OUTPUT_PATH指定输出路径。 我们执行cm...
使用WIN32_EXECUTABLE选项 当你希望你的应用程序作为一个GUI应用程序运行,而不是在命令行窗口中运行时,可以在add_executable命令中使用WIN32标志。对于CMake版本3.14及以上,可以使用WIN32_EXECUTABLE目标属性来更明确地控制这一行为。 cmake_minimum_required(VERSION3.14)project(MyApp)# 设置源文件set(SOURCE_FILES mai...
1、name设置构建的可执行文件的文件名,在项目中必须是全局唯一的。 2、WIN32被赋予属性WIN32_EXECUTABLE将在创建的目标上设置。在 Windows 上构建一个带有 WinMain 入口点的可执行文件。 格式示例 ADD_EXECUTABLE(CMakeSetup WIN32${SRCS}) 3、如果MACOSX_BUNDLE给出相应的属性,将在创建的目标上设置。在 macOS ...
add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] source1 [source2 ...]) 简单的例子如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 add_executable(demo main.cpp ) 7.最后贴一个完整的例子 代码语言:javascript 代码运行次数:0 运行 AI代码解释 cmake_minimum_required (...
(13) add_executable 含义:使用指定的源文件来生成目标可执行文件 语法: add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [source1] [source2 ...]) 使用样例: add_executable(main main.cpp) (14) add_dependencies 含义:给编译目标添加依赖的target ...
add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [source1] [source2 ...]) 1. 2. 3. 添加一个名为< name >的可执行目标,以从命令调用中列出的源文件构建该目标。对应于逻辑目标名称,在项目中必须是全局唯一的。构建的可执行文件的实际文件名是基于本机平台的约定(例如< name >....
add_executable 创建可执行文件目标,用于将一组源文件编译为可执行文件。 add_executable(<target_name> [WIN32] [MACOSX_BUNDLE][EXCLUDE_FROM_ALL]source1 [source2 ...]) 其中 <target_name> 是要创建的可执行文件的名称,可以自定义。 [WIN32] 和 [MACOSX_BUNDLE] 是可选的标志,用于指定平台特定的属性...
if (WIN32) target_link_libraries(my_executable ${PROJECT_SOURCE_DIR}/third_party/mylibrary/lib/mylibrary.lib) else () target_link_libraries(my_executable ${PROJECT_SOURCE_DIR}/third_party/mylibrary/lib/libmylibrary.so) endif () 步骤4:构建项目 完成以上步骤后,你可以运行CMake来配置你的项目...