风:如果路径中有空格,资源汇编错误

问题描述 投票:0回答:1
Mingw+Qt6+Cmake+Ninja项目取决于库,根据标准,该库安装在“ C:\ Program Files \ Somelib”中。无法更改安装路径

cmake_minimum_required(VERSION 3.16) project(untitled_qt6 VERSION 0.1 LANGUAGES CXX) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) qt_standard_project_setup() include_directories("C:/Program Files/somelib/include") find_library(SOMELIB NAMES somelib PATHS "C:/Program Files/somelib/lib" REQUIRED NO_SYSTEM_ENVIRONMENT_PATH) set(app_icon_resource_windows "${CMAKE_CURRENT_SOURCE_DIR}/icon.rc") set(PROJECT_SOURCES main.cpp mainwindow.cpp mainwindow.h ${app_icon_resource_windows} ) qt_add_executable(untitled_qt6 MANUAL_FINALIZATION ${PROJECT_SOURCES} ) target_link_libraries(untitled_qt6 PRIVATE Qt${QT_VERSION_MAJOR}::Widgets ${SOMELIB} ) set_target_properties(untitled_qt6 PROPERTIES WIN32_EXECUTABLE TRUE) qt_finalize_executable(untitled_qt6)
the the the path
的传播是一个已知的误差

cc1.exe: fatal error: Files/somelib: No such file or directory

可以通过以下路径通过路径来解决。
windres -I\""C:/Program Files/somelib/include\""

有任何方法可以干预构建过程或以其他方式解决此问题而不更改库的路径?
	

我也有同样的问题,我在

上找到了一个对我有用的解决方案:
c++ qt cmake ninja windres
1个回答
0
投票
if(MINGW) set(CMAKE_RC_COMPILER_INIT windres) ENABLE_LANGUAGE(RC) SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> <FLAGS> -O coff <DEFINES> -i <SOURCE> -o <OBJECT>") endif(MINGW)

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.