gpt4 book ai didi

c - 如何包含包装到新 dll 中的 dll 文件?

转载 作者:太空宇宙 更新时间:2023-11-04 00:10:07 25 4
gpt4 key购买 nike

在我的应用程序中,我必须明确链接到一个 dll。该应用程序在带有 gcc 编译器的 QT 中。

应用程序必须链接到的 dll 是另一个旧 dll 的包装器。目的是让旧的dll适应新的界面。

我在编译新的 dll 时使用隐式链接。新的dll是用msvc 2008编译的,原因是旧的dll有c++的类函数,gcc无法识别。新界面使用 c 函数。

总的来说,当我运行我的应用程序时,我链接了新的 dll,而新的 dll 依赖于旧的 dll。一切正常,除了我必须将旧的 dll 放在与 exe 相同的文件夹或与 .pro 文件相同的文件夹中。

我尝试将旧库添加到应用程序的 qt .pro 文件中,但没有成功。

有什么办法可以移动旧dll文件的目录吗?

更清楚地说,如果旧的 dll 和应用程序是用相同的编译器编译的,我可以在 .pro 文件中包含旧的 dll 和 lib 的路径,并将其放在我想要的任何位置。

但是,现在只有新的 dll 可以识别旧的 dll 函数,所以我不能再这样做了。请问有没有办法修改exe文件运行时搜索的路径。现在它搜索 exe 文件夹及其父文件夹。

最佳答案

Windows 操作系统以指定的方式查找 dll,以下链接可能会有所帮助: Dynamic-Link Library Search

如果您想将 dll 保存在另一个文件夹中,则可以将 lib 文件夹添加到您的 PATH 变量中,但是当您部署包时,您必须确保可以使用以下命令找到目标机器上的 dll链接中指定的库搜索顺序。

关于c - 如何包含包装到新 dll 中的 dll 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3569318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com