CMake не может определить язык компоновщика для цели - C ++ - PullRequest
1 голос
/ 15 апреля 2020

Я пытаюсь разработать движок для частного использования, я использую CMake, потому что я собираюсь сделать его мультиплатформенным в будущем, но начала появляться ошибка, с которой я никогда не сталкивался, я пытался изменить проект ( IEngine) для проецирования (IEngine CXX), как сказано в других вопросах о переполнении стека, но ошибка сохраняется, вот мои CMakeLists

cmake_minimum_required(VERSION 3.16.2)

project(IEngine)

find_package(Vulkan REQUIRED)

file(GLOB_RECURSE SRC_RENDERER
    "${IEngine_SOURCE_DIR}/src/Renderer/*.cpp"
    "${IEngine_SOURCE_DIR}/src/Renderer/*.hpp"
    "${IEngine_SOURCE_DIR}/src/Renderer/*.h")

source_group("Renderer" FILES ${SRC_RENDERER})

add_library(IEngine STATIC ${SRC_RENDERER})

if(WIN32)
    target_compile_definitions(IEngine PRIVATE VK_USE_PLATFORM_WIN32_KHR)
endif()

target_include_directories(IEngine PRIVATE Vulkan::Vulkan)
target_link_libraries(IEngine Vulkan::Vulkan)

Вывод:

Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
The C compiler identification is MSVC 19.24.28315.0
The CXX compiler identification is MSVC 19.24.28315.0
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe - works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe - works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Found Vulkan: A:/VulkanSDK/1.2.131.1/Lib/vulkan-1.lib  
Configuring done
CMake Error: CMake can not determine linker language for target: IEngine
Generating done

1 Ответ

2 голосов
/ 15 апреля 2020

У меня была эта ошибка много раз :( Добавьте это к вашему CMakeLists.txt:

set_target_properties(IEngine PROPERTIES LINKER_LANGUAGE CXX)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...