Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.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++ 将路径设置为dll以生成qt文件_C++_Qt_Dll_Build_Dependencies - Fatal编程技术网

C++ 将路径设置为dll以生成qt文件

C++ 将路径设置为dll以生成qt文件,c++,qt,dll,build,dependencies,C++,Qt,Dll,Build,Dependencies,从QtCreator运行一些Qt应用程序时,我发现我需要依赖的dll 为了从Qt Creator内部执行代码,我可以看到一些选项 1) 将所有依赖dll与可执行文件放在同一文件夹中 缺点:我可能不得不在每次更新这些dll时复制它们,或者在清理时复制它们 2) 我发现我可以修改Build环境变量 a) 将dll文件夹添加到路径 似乎他是最好的选择,这个设置保存在哪里 b) 添加一些其他名为LD_LIBRARY_PATH的环境变量(在这里找到了关于它的信息,但有几个论坛问题提到它不好…) 这两个想法

从QtCreator运行一些Qt应用程序时,我发现我需要依赖的dll

为了从Qt Creator内部执行代码,我可以看到一些选项

1) 将所有依赖dll与可执行文件放在同一文件夹中

缺点:我可能不得不在每次更新这些dll时复制它们,或者在清理时复制它们

2) 我发现我可以修改Build环境变量

a) 将dll文件夹添加到路径

似乎他是最好的选择,这个设置保存在哪里

b) 添加一些其他名为LD_LIBRARY_PATH的环境变量(在这里找到了关于它的信息,但有几个论坛问题提到它不好…)

这两个想法听起来不错,但可执行文件不起作用(找不到DLL)

3) 有人建议我可以在项目文件中使用DEPENDPATH。。。但从逻辑上讲,这只会添加一个路径来查找lib文件,而不是dll文件

如果第三个选项起作用,这将是最好的,因为我将不受Qt Creator内部设置的限制,并允许我轻松地更改多个文件


什么是最好的选择?

对我来说,第一种变体是最简单、最不烦人的。通过为临时构建对象和构建的二进制文件确定不同的文件夹,可以避免清理可执行文件(以便每次清理都只删除中间文件)。更新呢?棘手的问题是,更改依赖的dll有点危险(谁知道,新的更新到底改变了什么),这就是我建议您不要经常这样做的原因。

某些依赖dll是由其他项目创建的。您可以将此项目的输出目录设置为与上述项目的输出目录匹配。每一个独立库的构建都将“就地”更新它们,多亏了自动移动,您可以从QT Creator运行应用程序。