jjzjj

c++ - QtCreator qmake 无法运行编译器 'cl'

刚刚使用MSVS2017和Qt5.9.1配置了新的Windows环境。在构建示例项目bars时遇到错误ProjectERROR:Cannotruncompiler'cl'.Maybeyouforgottosetuptheenvironment?使用mingw构建并运行良好。我尝试在qmake之前添加自定义构建步骤"C:\ProgramFiles(x86)\MicrosoftVisualStudio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat"amd64但得到了相同的结果。在cmd中,此命令运行良好。之后可以访问cl.exe。所有

c++ - 没有qmake可以使用Qt Creator吗?

我听说可以使用QtCreator构建非Qt应用程序(如简单的C++HelloWorld)。我下载并安装了QtCreator,并尝试用它编译简单的代码。但是我没有成功:Creator需要qmake来创建makefile。虽然我下载的包里有MinGW,但是里面没有qmake。我仍然想像使用IDE一样使用它来创建简单的C++源代码并使用MinGW编译它们。是否可以在不安装整个平台的情况下使用QtCreator? 最佳答案 QtCreator支持CMake项目,您只需选择打开文件或项目,然后选择项目的根CMakeList.txt。如果您想定

c++ - qmake 中的编译器范围值

qmake提供了几个内置的平台作用域,允许一个项目文件根据当前平台执行不同的操作:win32{...}unix{...}mkspecs目录中的所有平台规范也可用于测试各种平台/编译器组合,例如linux-g++{...}win32-g++{...}win32-msvc2003{...}但是,我似乎找不到只测试编译器(没有操作系统)的方法#Thisdoesnotworkg++{...}msvc{...}有没有一种方法可以做到这一点而不必列出所有组合(linux-g++|win32-g++|cygwin-g++|...{})?如果这不可能,是否有充分的理由? 最

c++ - 如何在 MacOS X Sierra 上安装 Qt 并在终端上添加 qmake

我想在我的Mac上安装Qt并通过终端使用qmake来编译代码。我从Qt站点下载了开源QtCreator,但我无法设置它。有遇到类似问题的吗?系统:MacOSXSierra,Qt版本:5.7。我正在从qt.io/download-open-source下载开源安装程序。我正在将它安装到Users/MyUserAccount并且我想设置它以便我可以使用qmake&&make编译C++代码 最佳答案 只是提供另一种使用Homebrew的解决方案。如您所见,QT4与MacOSXSierra不兼容。您可以使用以下方式安装QT5:brewins

c++ - Qmake:如何在不更改 qmake.conf 的情况下删除某个项目的编译器标志?

我正在使用qmake和VisualStudio。在发布版本中,qmake将/GL和/O2标志添加到所有项目,我需要为我的整个Qt项目中的某些库删除这两个标志。有办法吗? 最佳答案 我遇到了类似的问题,我通过在.pro文件中添加以下指令解决了这个问题:QMAKE_CXXFLAGS_RELEASE-=-g注意_RELEASE后缀,否则不起作用。 关于c++-Qmake:如何在不更改qmake.conf的情况下删除某个项目的编译器标志?,我们在StackOverflow上找到一个类似的问题:

c++ - 如何将子目录库与 QMake 链接起来?

我有一个用QMake构建的Qt项目(称为“scanner”),其中有2个子项目:一个称为“scannerlib”的静态库和一个使用该库的应用程序,称为“app”(目前是只是一个main.cpp文件)我的“扫描仪”文件夹包含文件scanner.pro:QT+=coretestlibQT-=guiCONFIG+=c++14CONFIG+=consoleCONFIG-=app_bundleTEMPLATE=subdirsSUBDIRS=appscannerlibapp.depends=scannerlib还有两个子文件夹,包含一个.pro文件和相关的源文件。扫描仪库/扫描仪库.pro:TAR

c++ - 如何使用 qmake 指定目标 mac os x 版本

我正在尝试使用QtCreator/qmake在MacOSX上编译c++11代码,但出现以下错误:clang:error:invaliddeploymenttargetfor-stdlib=libc++(requiresOSX10.7orlater)当我检查编译命令行时,我注意到它包含-mmacosx-version-min=10.6标志。我尝试按如下方式更新我的.pro文件,但似乎没有考虑到这一点:QMAKE_CXXFLAGS+=-std=c++11-stdlib=libc++macx{-mmacosx-version-min=10.7}任何建议都会有所帮助。谢谢!

c++ - 为什么 qmake 在这种情况下添加 -O1 和 -O2 优化标志?

我正在尝试使用qmake.pro文件将优化标志传递给gcc:你好.pro:TEMPLATE=appCONFIG+=consoleCONFIG-=app_bundleCONFIG-=qtSOURCES+=main.cppQMAKE_CXXFLAGS+=-O3\ma​​in.cpp:#includeintmain(){std::cout编译输出:15:14:34:RunningstepsforprojectTestGrounds...15:14:34:Starting:"/usr/bin/make"cleanrm-fmain.orm-f*~core*.core15:14:34:Thepro

c++ - qmake : Build library without the symlinks and 'lib' prefix

我在我的应用程序中需要一个非常简单的机制,我的项目构建为共享库“.so”或“.dll”,但我想要的是:ExampleAppOne.so我得到:libExampleAppOne.so->libExampleAppOne.so.1.0.0libExampleAppOne.so.1->libExampleAppOne.so.1.0.0libExampleAppOne.so.1.0->libExampleAppOne.so.1.0.0我什至不想要“lib”前缀。在.pro文件中,我所能做的就是更改INSTALLS变量(这是因为我的第三个要求是将库构建在特定目录中)。此外,我还有第四个相关要求:

c++ - 使用 qmake 查找编译器供应商/版本

有什么办法可以通过qmake获取用户使用的编译器的版本和厂商?我需要的是在使用g++3.x时禁用构建项目的某些目标,并在使用g++4.x时启用它们。更新:大多数答案都针对预处理器。这是我想避免的事情。我不希望为特定编译器版本构建目标,我希望由构建系统做出此决定。 最佳答案 除了ashcatch的答案,qmake允许您querythecommandline并将响应作为变量返回。所以你可以这样做:linux-g++{system(g++--version|grep-e"\然后,当你想用它来指定目标时,你可以使用配置范围规则:SOURCE