Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake:为添加\自定义\目标添加可执行文件_C++_Cmake_Visual Studio Code - Fatal编程技术网

C++ CMake:为添加\自定义\目标添加可执行文件

C++ CMake:为添加\自定义\目标添加可执行文件,c++,cmake,visual-studio-code,C++,Cmake,Visual Studio Code,我有一个CMakeLists.txt和一些工具链文件。在我的CMakeLists.txt中,我有一个生成.elf可执行文件的语句。然后通过一些命令(使用add_custom_target,code from)运行该可执行文件,生成一个.gba文件,这是我想要启动的真正的可执行文件。现在的问题是,我正在为VS代码使用cmake扩展,而目标没有显示出来以启动(可能是因为它没有被视为可执行文件)。 我尝试添加_可执行文件(target.gba IMPORT),但没有成功。 在CMakeLists.tx

我有一个CMakeLists.txt和一些工具链文件。在我的CMakeLists.txt中,我有一个生成.elf可执行文件的语句。然后通过一些命令(使用add_custom_target,code from)运行该可执行文件,生成一个.gba文件,这是我想要启动的真正的可执行文件。现在的问题是,我正在为VS代码使用cmake扩展,而目标没有显示出来以启动(可能是因为它没有被视为可执行文件)。 我尝试添加_可执行文件(target.gba IMPORT),但没有成功。 在CMakeLists.txt中:

add_executable(target.elf ${SOURCE_FILES} ${INCLUDE_FILES} ${EXTRA_DATA_FILES}) # Create the elf file
add_gba_executable(target.elf) # Generate the .gba from the .elf
在工具链文件中:

function(add_gba_executable target)
    get_filename_component(target_name ${target} NAME_WE)
    add_custom_target(${target_name}.gba ALL SOURCES
        COMMAND ${OBJCOPY} -v -O binary ${target} ${target_name}.gba
        COMMAND ${GBAFIX} ${target_name}.gba
        DEPENDS ${target}
        VERBATIM
    )
    set_target_properties(${target} PROPERTIES LINK_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${target_name}.map -specs=gba.specs")
    set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${target_name}.gba)
endfunction()
我如何告诉CMake添加\自定义\目标的结果也是一个可执行文件?我尝试添加_可执行文件(target.gba IMPORT),但没有成功