Cmake构建Qt工程导致“模块计算机类型“X86”与目标计算机类型“x64”冲突
2014-04-24 17:27
651 查看
注:本文参考东来东往的博文添加改写:leoluopy@gmail.com
本文手把手教你Cmake创建Qt的细节过程,高手请绕过。出自CSDN-固本培元。对于QT而言一般是采用qmake来配置工程,优点是简单直接。在许多工程开发中,QT常常会与其他的工程结合使用,这样qmake就难以管理工程。这里主要介绍使用CMake来配置QT工程。使用CMake优点之一是可以将代码文件和工程文件分离,使得工程结构更加清晰,也便于代码移植;之二是可以与其他的用CMake管理的工程结合,例如ITK,VTK,OpenCV等。采用CMake配置QT工程主要分为以下四个步骤:
1.使用QCreator创建工程MIStudio。
2. 新建一个工程目录,在其中建立两个目录,source存放代码文件,bin存放工程文件。将test工程中的代码、UI和资源文件拷贝到source目录中(main.h mainwindow.h mainwindow.cpp mainwindow.ui MIStudio.qrc)。
3. 添加CMakeLists.txt文件,文件内容有以下四个部分
(1) 添加CMakeLists.txt头信息
PROJECT (MIStudio)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
(2) 添加QT4库
(3) 将.h文件进行moc操作,ui文件进行uic操作,资源文件进行rcc操作
(4) 添加工程,并连接QT库
ADD_EXECUTABLE (MIStudio ${MISTUDIO_SRCS}
${MISTUDIO_HEADERS_MOC}
${MISTUDIO_UIS_UIC}
${MISTUDIO_QRC_RCC})
TARGET_LINK_LIBRARIES (MIStudio ${QT_LIBRARIES})
4. 打开CMake对工程进行配置,选择source文件源文件目录,选择bin为编译目录配置后,生成工程并编译,即可完成一个基于CMake管理的QT工程。
注意cmake选择编译器时,如下图即使在x64环境也直接选择 Visual Studio 10 才能 最后通过编译,
否则会出现如题的:最后编译工程时 。“模块计算机类型“X86”与目标计算机类型“x64”冲突
cmake生成好后效果
最后:对应的工程cmake资源在这里:感兴趣的朋友可以下载来使用:
http://download.csdn.net/detail/luopeiyuan1990/7246485
参考文章:
http://zxdflyer.blog.163.com/blog/static/25664262201282122737422/
本文手把手教你Cmake创建Qt的细节过程,高手请绕过。出自CSDN-固本培元。对于QT而言一般是采用qmake来配置工程,优点是简单直接。在许多工程开发中,QT常常会与其他的工程结合使用,这样qmake就难以管理工程。这里主要介绍使用CMake来配置QT工程。使用CMake优点之一是可以将代码文件和工程文件分离,使得工程结构更加清晰,也便于代码移植;之二是可以与其他的用CMake管理的工程结合,例如ITK,VTK,OpenCV等。采用CMake配置QT工程主要分为以下四个步骤:
1.使用QCreator创建工程MIStudio。
2. 新建一个工程目录,在其中建立两个目录,source存放代码文件,bin存放工程文件。将test工程中的代码、UI和资源文件拷贝到source目录中(main.h mainwindow.h mainwindow.cpp mainwindow.ui MIStudio.qrc)。
3. 添加CMakeLists.txt文件,文件内容有以下四个部分
(1) 添加CMakeLists.txt头信息
PROJECT (MIStudio)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
(2) 添加QT4库
SET (MISTUDIO_HEADERS mainwindow.h) SET (MISTUDIO_UIS mainwindow.ui) SET (MISTUDIO_QRCS MIStudio.qrc) SET (MISTUDIO_SRCS main.cpp mainwindow.cpp ${MISTUDIO_QRCS}) QT4_WRAP_CPP (MISTUDIO_HEADERS_MOC ${MISTUDIO_HEADERS}) QT4_WRAP_UI (MISTUDIO_UIS_UIC ${MISTUDIO_UIS}) QT4_ADD_RESOURCES (MISTUDIO_QRC_RCC ${MISTUDIO_QRCS})
(3) 将.h文件进行moc操作,ui文件进行uic操作,资源文件进行rcc操作
SET (MISTUDIO_HEADERS mainwindow.h) SET (MISTUDIO_UIS mainwindow.ui) SET (MISTUDIO_QRCS MIStudio.qrc) SET (MISTUDIO_SRCS main.cpp mainwindow.cpp ${MISTUDIO_QRCS}) QT4_WRAP_CPP (MISTUDIO_HEADERS_MOC ${MISTUDIO_HEADERS}) QT4_WRAP_UI (MISTUDIO_UIS_UIC ${MISTUDIO_UIS}) QT4_ADD_RESOURCES (MISTUDIO_QRC_RCC ${MISTUDIO_QRCS})
(4) 添加工程,并连接QT库
ADD_EXECUTABLE (MIStudio ${MISTUDIO_SRCS}
${MISTUDIO_HEADERS_MOC}
${MISTUDIO_UIS_UIC}
${MISTUDIO_QRC_RCC})
TARGET_LINK_LIBRARIES (MIStudio ${QT_LIBRARIES})
4. 打开CMake对工程进行配置,选择source文件源文件目录,选择bin为编译目录配置后,生成工程并编译,即可完成一个基于CMake管理的QT工程。
注意cmake选择编译器时,如下图即使在x64环境也直接选择 Visual Studio 10 才能 最后通过编译,
否则会出现如题的:最后编译工程时 。“模块计算机类型“X86”与目标计算机类型“x64”冲突
cmake生成好后效果
最后:对应的工程cmake资源在这里:感兴趣的朋友可以下载来使用:
http://download.csdn.net/detail/luopeiyuan1990/7246485
参考文章:
http://zxdflyer.blog.163.com/blog/static/25664262201282122737422/
相关文章推荐
- 构建Qt应用程序时出现“error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突问题的解决办法”
- Qt模块计算机类型“x64”与目标计算机类型“X86”冲突
- QT5.1.0与Vs2012fatal error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突_(解决方案)
- QT5.3.2与VS2013 fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突_(解决方案)
- QT5.3.1和VS2013开发,安装插件后在VS2013建新工程报错模块计算机类型“x64”与目标计算机类型“X86”冲突
- moc_qtfirst.obj : fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突
- windows下X64位动态库改为静态库导致的fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突
- opencv fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突——我的解决方案
- fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突——我的解决方案
- vc++ 2010 CURL库64位编译时遇到“模块计算机类型“x86”与目标计算机类型“x64”冲突”的解决办法
- 在VS2015下配置OpenCV3.2时遇到 fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突
- opencv fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突——我的解决方案
- 解决: 模块计算机类型“x64”与目标计算机类型“X86”冲突
- vs2012安装opencv运行报错fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突
- “模块计算机类型“x64”与目标计算机类型“X86”冲突“——问题结局步骤
- 错误 51 error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 opencv_core248d.lib opencv_core248d.dll
- 模块计算机类型“X86”与目标计算机类型“x64”冲突
- VS2013中模块计算机类型“x64”与目标计算机类型“X86”冲突
- OpenCV2.4.11+VS2012的环境配置+“fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突”的问题解决
- opencv_core244d.lib(opencv_core244d.dll) : fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突