首页 文章
  • 2 votes
     answers
     views

    Qt,库函数调用给出了未解决的外部符号错误

    我使用外部库时遇到麻烦,让我们从头开始 . 我有一些库trans2quik,它由3个文件组成:trans2quik .dll / .lib / .h 所以,我使用Qt5.2,MSVC 2012 x64,win7 . 我使用“添加库”向导创建简单的qt小部件应用程序和链接库,用于在我的pro文件中生成LIBS,INCLUDEPATH等 . 然后,当我调用任何函数时,我得到未解析的extenal符号错...
  • 0 votes
     answers
     views

    QMake:检查是否设置了传递的变量

    我以下列方式打电话给QMake: qmake“MYVARNAME = / home / user / directory” 需要检查是否设置了MYVARNAME,导致此目录包含链接器所需的文件 . 我试过了: equals(MYVARNAME, "") error("MYVARNAME is not set") 还有 isEmpty(MYVARNAME) ...
  • 10 votes
     answers
     views

    在Linux上使用qmake构建 - 如何防止qmake链接到QtCore和QtGui

    我有一个共享库(没有QT依赖)[库B]链接到另一个共享库(也没有QT依赖)[库A] . 我正在使用Qmake和QT Creator 1.3 . 问题是当我构建库B并在可执行文件上运行ldd时,它被链接到QtCore和QtGui,这两者都会引入大量不需要的文件,导致可执行文件需要很长时间才能加载,并且有不必要的依赖 . 我已经尝试了几乎所有东西来阻止qmake将这些库链接到库B. 库B的项目文件片段...
  • 3 votes
     answers
     views

    如何在谷歌测试和共享库中使用qmake文件

    我开始使用makefile来生成我的C文件的依赖项 . 这是一个使用谷歌测试的C项目 . 后来,我启动了一个Qt项目,该项目使用qmake并链接到旧的makefile构建的共享库 . 不用说,旧的makefile现在真的很复杂 . 我想制作一个可以执行以下操作的qmake文件: 为源列表构建共享库 构建谷歌测试(可选,我会接受一个单独的makefile) 使用链接到第一个共享库的不同源...
  • 28 votes
     answers
     views

    如何将Qt运行时DLL复制到项目输出

    我有一个在Qt Creator中创建的简单项目(使用Qt SDK 1.1.4安装) . 它在Qt Creator中运行得很好,但如果我然后浏览到Windows中的输出目录并双击EXE,我将收到如下错误: The program can't start because QtCored4.dll is missing from your computer. Try reinstalling the p...
  • 6 votes
     answers
     views

    将静态库与qmake链接时如何提供链接器选项?

    我想在使用qmake构建 static library 时为链接器提供选项 . 假设我在使用MSVC构建时想要获得详细的链接器输出 . 项目文件如下所示: # mylib.pro TEMPLATE = lib TARGET = mylib CONFIG += staticlib QT += core win32-msvc*: QMAKE_LFLAGS += /VERBOSE unix: QMAKE...
  • 0 votes
     answers
     views

    可以使用CMake而不是qmake链接到dll

    我想在Windows上构建一个简单的Qt项目,它包含一个main.cpp文件和一个dll . 使用CMake构建它没有任何问题: project(app) cmake_minimum_required(VERSION 2.6.0) find_package(Qt4 REQUIRED QtCore QtGui QtXml) ... add_executable(app main.cpp) targe...
  • 1 votes
     answers
     views

    qmake如何分别设置.dll和.lib文件输出路径

    我是使用qmake创建项目的初学者 .那么如何在库项目中分别设置.lib和.dll文件的输出?我认为我可以从路径链接其他项目中的.lib文件,并在另一个路径中执行时使用.dll文件 .我用过cmake,这是可能的 . 所以我觉得qmake也是 .但我在文档中找不到方法,谁知道呢?
  • 24 votes
     answers
     views

    使用qmake / Qt Creator链接调试/发布库

    我正在使用Qt Creator并拥有一个依赖于C静态库项目的Qt GUI项目 . 我想将GUI应用程序的发布版本与.lib的发布版本以及带有调试.lib的GUI应用程序的调试版本链接起来 . 我已经找到了如何通过在我的.pro文件中包含如下所示的行来向项目中添加其他库: LIBS += -L./libfolder -lmylib.lib 但我看不出如何使用不同的 -L 命令进行发布和调试构建 . ...
  • 0 votes
     answers
     views

    Qmake在不修改.pro的情况下为源和 Headers 使用单独的文件夹

    我想编译meshlab(http://sourceforge.net/p/meshlab/code/HEAD/tree/)并将生成的文件放在源目录之外以保持源清理 . 是否可以在cmake中指定构建目录? 这篇文章的答案是Qmake and Make using separate folders for sources and headers,需要修改.pro文件并且在我的情况下不起作用 . 用户...
  • 0 votes
     answers
     views

    从dbus xml生成文件时如何告诉qmake包含头文件?

    TLDR:如何告诉qmake使用dbus xml描述生成文件,其中包含适当的 Headers ? 下面是完整的示例和更多信息 . 我的描述dbus接口的xml文件(custom.xml)如下所示: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE node PUBLIC "...
  • 1 votes
     answers
     views

    如何使用qmake .pro文件更改调试/发布输出目录 . 跨plataform

    我已经阅读了所有关于它的帖子,并没有一个解决方案适用于Windows和Linux . 我目前的解决方案在Windows中运行良好,如果不存在,则创建用于调试或发布的相应目录 . 我想在其中一个文件夹中创建所有目标文件(* .o) . 在Windows中我在linux中实现了这个,我的DESTDIR变量是空的 . = | TEMPLATE = app TARGET = DEPENDPATH +=...
  • 2 votes
     answers
     views

    Qmake处于发布和调试模式

    我有一个库,我希望它根据我所处的配置(调试或发布)将自身复制到一个目录 . 这是我的项目文件 . #------------------------------------------------- # # Project created by QtCreator 2011-08-13T12:48:33 # #--------------------------------------------...
  • 1 votes
     answers
     views

    QMAKE * .pro-file:在发布模式下启用调试信息

    由于兼容性问题,我在发布模式下在VS2008中编译我的项目,但我需要访问调试信息 . 这就是我在项目属性中为发布模式手动设置调试设置的原因 . 在VS2008中,我打开属性窗口并选择: 配置属性/ C / C /优化=禁用/ Od 配置属性/ C / C /通用/调试信息格式=程序数据库(/ Zi) 配置属性/ C / C /链接器/生成调试信息=是(/ DEBUG) 我使用专业文...
  • 4 votes
     answers
     views

    如何在Qt中分离发布和调试版本?

    我想将发布和调试版本的二进制文件放在源代码旁边的不同文件夹中 . 在.pro文件中: CONFIG(debug){ DESTDIR = ./debug OBJECTS_DIR = debug/.obj MOC_DIR = debug/.moc RCC_DIR = debug/.rcc UI_DIR = debug/.ui } CONFIG(release)...
  • 1 votes
     answers
     views

    在调试/发布时使QMake切换INCLUDEPATH的最佳方法

    我有一个Qt项目(.pro),它有一些依赖项,在构建时将include目录放在“release”或“debug”目录中 . 什么是“切换”调试和发布中包含哪些目录的最佳实践方法?目前我在.pro中有这个: CONFIG(debug, debug|release) { CONFIGURATION = debug DESTDIR = $${PWD}/../../Interface/De...
  • 4 votes
     answers
     views

    在qmake中自动复制DLL将不起作用

    我正在尝试让qmake自动将我的程序的DLL复制到目标路径,但它不起作用 . 这是我的.pro文件的相关部分: QT_DIR = C:/Qt/5.1.1/mingw48_32/bin MY_TARGET_DIR = $$PWD/debug MY_LIB_FILES += QT_DIR/QT5CORED.DLL MY_LIB_FILES += QT_DIR/QT5SERIALPORTD.DLL MY...
  • 33 votes
     answers
     views

    qMake:qmake究竟解释了“CONFIG(debug,debug | release)”语法

    我读了HERE,但我仍然不理解 qmake CONFIG 变量的语法 . 例如,如果我的 .pro file 中有以下CONFIG设置: CONFIG(debug, debug|release) { message("debug mode") }else { message("release mode") } 然后,当运行 qmake 时,...
  • 2 votes
     answers
     views

    qmake CONFIG同时释放和调试变量

    我想根据Debug或Release构建配置更改一些DEFINES和LIBS路径,但我的CONFIG变量同时保留释放和调试变量 . 在pro文件中进行简单测试: CONFIG(debug, debug|release) { message(DEBUG build) } CONFIG(release, debug|release) { message(RELEASE build) }...
  • 0 votes
     answers
     views

    在指定输出目录后,它仍然在本地目录中创建调试和释放文件夹

    我使用宏来指定.pro文件中的输出目录,它工作正常 . 但我的本地目录仍然创建了调试和发布文件夹 . 我怎么能停止创建那两个空文件夹? 编辑:这是在我的Windows 7上 . 我使用qt 5.5 creator 3.6.0 . Windows 10上的相同设置表现不同 . 在Windows 10上,它输出到与bin相同级别的文件夹,称为build-configuration-details ....
  • 0 votes
     answers
     views

    QMake:如何让UIC生成BOTH头文件和源文件?

    在.pro文件中,我定义了UI_HEADERS_DIR = ./uic/include UI_SOURCES_DIR = ./uic/src但是在编译之后,我只获得了包含声明和实现的ui_x.h文件 . 这是否意味着QMake无法生成仅包含最小声明的简单头文件并将所有实现细节放入源文件中? 这是一个生成.h文件的示例文件,您可以在.h文件中找到声明和实现: /*******************...
  • 24 votes
     answers
     views

    为什么qmake将所有对象(.o)文件放在一个目录中?

    假设我有一个Qt应用程序,我在两个不同的命名空间中有两个具有相同名称的类: namespace namespace1 { class SomeClass; } namespace namespace2 { class SomeClass; } 我根据它有一个项目目录结构: -->src/ -->namespace1/ -->someclass.cp...
  • 17 votes
     answers
     views

    qmake项目文件中的INCLUDEPATH不起作用

    我在qmake项目中遇到了包含问题 . 在我的.pro文件中,我得到了: INCLUDEPATH += "C:\OpenCV\build\include" 在我的cpp中: #include <opencv\cv.h> 编译器指示错误: 无法打开包含文件:'opencv \ cv.h':没有这样的文件或目录 但如果我在我的cpp中写这个: #include ...
  • 1 votes
     answers
     views

    qmake不生成二进制资源文件

    规格:Qt Creator 2.5.1,Qt 4.7.4(32位) 根据Qt documentation我的理解是,在Qt的.pro文件中包含一个资源(.qrc),只需要qmake生成正确的qrc _ * .cpp文件 . 那不是在compiler_rcc_clean下寻找,而不是在构建链中 . [更新]根据以下评论的建议,qmake生成的makefile直接用NMAKE进行测试 . 创建了正确的...
  • 7 votes
     answers
     views

    Qmake:在不引入库的情况下避免在不同文件夹中发生文件名冲突

    我有一个项目与一些文件夹碰巧包含具有相同名称的源文件 . 我的源代码树看起来像这样: project.pro foo/ conflict.h conflict.cpp bar/ conflict.h conflict.cpp some.h other.h files.h main.cpp 默认情况下,qmake生成一个Makefile,它将生成如下构建树: ...
  • 6 votes
     answers
     views

    如何让QMake只有在更新时才能复制大数据文件

    我有一些大型数据文件,需要在我们的Qmake / QtCreator构建期间从源文件夹复制到构建文件夹 . 由于它们很大,我只希望复制发生在新的/更改的文件中 . 我真的想避免将它们全部列在项目文件中 . 这是我尝试过的: 这种复制数据文件的尝试失败,因为DemoData文件夹是目标 . 因此,如果添加或更改文件夹中的文件,则不会执行复制 . 仅当文件夹不存在时 . DemoData.comman...
  • 2 votes
     answers
     views

    Qmake:对象的单独目录:如何处理同名对象

    我为对象指定了一个单独的目录( OBJECTS_DIR=$$PWD/build/qt/objs ) . 我的项目包含几个子目录,其中所有子项目对对象使用相同的目录 . (这是按here所述完成的 . ) 现在可能会发生两个独立的子项目生成相同的目标文件(例如,有 sub1/foo.cpp 和 sub2/foo.cpp ) . 我该怎么处理?我能以某种方式告诉Qmake将项目目录结构保存在 OBJ...
  • 20 votes
     answers
     views

    来自我的.pro文件的CXXFLAGS修改[重复]

    可能重复:在Qt,QtCreator和QMake中配置GCC编译器开关 我想在我的makefile( CFLAGS 和 CXXFLAGS )中使用 -O1 而不是 -O 2进行我的Linux构建,但是我对如何基于.pro文件生成这些makefile的理解有些缺乏 . 这是因为当存在-O2时,Qt的版本与我正在使用的G版本相结合具有不稳定性 . 目前,在运行qmake之后,我正在运行替换脚本,...
  • 1 votes
     answers
     views

    qmake .pro文件未正确解析以生成LD_LIBRARY_PATH

    我在最后几天一直在努力了解qmake的工作原理我是怎么回事 . 我想要一个具有以下结构的项目: 根 bin testjson lib libjson.so src testjson.cpp 我想要的只是测试json库 . 我在Qt Creator 2.3.0中创建了一个新的空项目,并设置了所有设置,以便运行可执行文件 . 测试了我想要的并关闭了应用程序 . 后来,当我再...
  • 2 votes
     answers
     views

    qmake在Qt创建者中构建时没有找到opencv包

    我是Qt环境的新手,我在尝试构建时遇到了错误 . 我也是StackOverflow的新手,如果我错过了格式,请原谅我 . 当我从命令行运行 qmake 时,它找到 opencv 包并生成一个Makefile,但是当我从Qt Creator运行它时,它无法找到OpenCV . 这是我的.pro文件 #------------------------------------------------- ...

热门问题