小编G T*_*ädt的帖子

交叉编译为windows:cmake&mxe:在依赖项中丢失

我试图使用cmake和MXE交叉编译Windows.

在*nix上一切正常.但是我不知道如何使用MinGW和交叉编译来获得一些依赖项(Grantlee5和Qt5WebKitWidgets).这是我的CMakeLists.txt的一个(最小)示例:

cmake_minimum_required(VERSION 2.8.11)
project(MyProject)

set(QT_USE_QTXML TRUE)
set(QT_USE_QTWEBKIT TRUE)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") 

# Instruct CMake to run moc automaticall when needed.
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

#find packages
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Xml REQUIRED)
find_package(Grantlee5 REQUIRED)
find_package(Qt5WebKitWidgets REQUIRED) 
find_package(Git)

#(...) add all sources

# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)

# Tell CMake to create the executable
add_executable(MyProjectExec ${SRCS})

target_link_libraries(MyProjectExec
              Qt5::Widgets
              Qt5::Xml
              Grantlee5::Templates
              Qt5::WebKitWidgets
             )
Run Code Online (Sandbox Code Playgroud)

如果我只使用"cmake",它工作正常.但是,如果我使用MXE的工具链来交叉编译Widnows(i686-w64-mingw32.static-cmake),则Grantlee5和Qt5WebKitWidgets会失败并显示以下消息:

在CMakeLists.txt上生成错误:xx(find_package):无法找到与请求的版本""兼容的包"Grantlee5"的配置文件.[原文如此]

考虑了以下配置文件但未被接受:

/usr/lib/cmake/Grantlee5/Grantlee5Config.cmake, version: 5.0.0 (64bit) …
Run Code Online (Sandbox Code Playgroud)

c++ qt cmake mxe

5
推荐指数
0
解决办法
812
查看次数

cmake和Qt Creator的项目树:.ui文件丢失

我正在Qt Creator中使用cmake项目。除了Qt Creator在项目树中不显示任何.ui文件之外,其他所有内容都可以正常运行和构建。如果要在设计器中编辑.ui文件,则必须切换到文件系统视图并手动找到它。

有没有办法告诉Qt Creator / cmake也将.ui文件添加到项目树(或.cbp文件)中?

cmake qt-creator

1
推荐指数
1
解决办法
1008
查看次数

标签 统计

cmake ×2

c++ ×1

mxe ×1

qt ×1

qt-creator ×1