Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ qmake:如何删除绝对路径的依赖关系?_C++_Qt_Visual C++_Qmake - Fatal编程技术网

C++ qmake:如何删除绝对路径的依赖关系?

C++ qmake:如何删除绝对路径的依赖关系?,c++,qt,visual-c++,qmake,C++,Qt,Visual C++,Qmake,Qt Creator+VC19(MSVC2015)+WinSDK8.1 没有使用Qt本身。只需控制台应用程序std+boost+catch+easyloggingpp VC\bin和WinSDK\bin都位于系统路径变量中。 pro文件中配置的所有包含和库路径 我需要将它们从项目文件中移出,以便在不同的机器上构建此项目(所有窗口,但所用库的不同位置) 我认为cl.exe可以从LIB中读取并包含env变量,但如果我这样做(从bat文件或在QT Creator的项目设置中设置标题和库路径),它就不起

Qt Creator+VC19(MSVC2015)+WinSDK8.1 没有使用Qt本身。只需控制台应用程序std+boost+catch+easyloggingpp

VC\bin和WinSDK\bin都位于系统路径变量中。 pro文件中配置的所有包含和库路径

我需要将它们从项目文件中移出,以便在不同的机器上构建此项目(所有窗口,但所用库的不同位置)

我认为cl.exe可以从LIB中读取并包含env变量,但如果我这样做(从bat文件或在QT Creator的项目设置中设置标题和库路径),它就不起作用,QtC报告我找不到一些标题。 你能为我澄清一下吗:

  • Qt Creator应该读取LIB并包含用于构建和解析的变量吗?让它工作的正确步骤是什么
  • 如果Qt Creator无法读取env变量,那么使用qmake删除项目构建中绝对路径的依赖关系的正确方法是什么

  • 显然,在项目文件中,VisualStudio编译器和其他标准库路径硬编码为绝对路径

    所有Visual Studio或其他编译器设置(如工具链位置)通常由Qt Creator从编译器工具包中读取。文章对此作了澄清。只要系统安装了VisualStudio,这是第一件要配置的事情。配置了编译器工具包之后,您将能够向当前的项目构建:文章中添加一个

    如果使用qmake和jom从命令行生成,则生成脚本可能会执行Visual Studio标准环境批处理脚本文件,如下所示:

    "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VcVarsAll.bat" amd64
    

    请注意Visual Studio的目标位(32/64)和实际位置。有一篇MSDN文章是这样写的:。

    注意下面的qmake行为(在Linux上看到,不确定它是否发生在Windows中):qmake解析环境变量,然后将值写入它生成的makefile中。因此,创建makefiles后,如果更改环境变量,则必须使qmake重新生成makefiles以更新它们。您是对的,在.pro文件中硬编码绝对路径。是的,我尝试过使用.bar配置,不是原始配置,而是基于VC工具包原始配置的目标修改版本。这一个(或VC工具包的原件对我不起作用-Qt Creator向我显示了一个关于丢失文件的错误(来自那些路径),所以,你按照建议进行了更改,但仍然出现错误?确切地说,是什么错误?抱歉,是我的疏忽,LIB和INCLUDE包含“…程序文件…”(引号)的“-喜欢路径。没有引号,效果很好。谢谢!