如何在我的项目中使用fftw dll导入库.lib作为静态.lib
How to use FFTW DLL import library .lib as a static .lib in my project?
我知道C 并编译小插件(始终基于相似且布置的工作流程)。尽管目前,我需要将最新版本的FFTW编译到静态库中(或从编译版本中获取它应该容易得多的版本),这给我带来了疯狂的困难。可能是因为我不知道编译的来龙去脉。作为注释,我正在使用Visual Studio在Windows上工作。
由于我真的想知道这应该如何工作,所以我在这里问问题。
基本上,我需要在Windows上的FFTW3F库的静态.lib,我可以在另一个Visual Studio Project中包含。
我做的第一个是从网站下载FFTW的64位DLL(希望我可以使用此)。http://www.fftw.org/install/windows.html
然后,我已经完成了他们所说的随附步骤,也就是说:在lib.exe。
中运行以下内容 lib /def:libfftw3-3.def
lib /def:libfftw3f-3.def
lib /def:libfftw3l-3.def
我也已经完成了此操作,并获得了一个.lib文件,可以在项目中正确使用。我已经能够编译我的项目,但是输出构建显然是动态地链接到库,而不是将其作为静态库。
我正在将我的项目编译到.dll,但要求FFTW3F库静态包含在我的输出中。
使用 lib.exe /list libfftw3f-3.lib
我能够发现lib文件是引用libfftw3f-3.dll。
根据我的Google结果,这意味着我创建的.lib文件是 dll导入库,而不是 static library 。
很难弄清楚如何用我的问题来表达我的问题,因为我不确定术语是什么以及幕后发生了什么。我猜:
- 如何使用我自己项目中创建的lib.exe创建的libfftw3f-3.lib文件作为静态库。这样它包含在我的输出.dll而不是动态链接中?
根据我从评论/答案中学到的知识,我很乐意更新/编辑/重塑我的问题,以便对大多数其他用户更有意义,因为我很可能术语
您无法期望将DLL转换为静态库。
为了创建一个静态库,您需要从其源代码重新编译库,其输出目标是静态库。如果您无法获得源代码,则无法实现您的目标。
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 解析引用 |exe/dll vs lib
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- 从 .lib 文件创建一个.dll文件
- 可执行文件C++包括.obj,.lib和.dll吗?
- 无法在 DLL 中链接 SDL2-static.lib
- 链接器找不到导入的 DLL 的 LIB 文件
- C++:重命名dll和lib并链接
- C++ CLR dll 需要 .lib 文件,但非 CLR 不需要
- 如何找出依赖于LIB文件的DLL列表?
- 链接 .lib 并在 Windows 中使用 .dll 在 C++ 在 Eclipse 中
- 将标头和 lib 转换为 dll 以将其与 c# 一起使用
- 为什么我的程序寻找共享资源.dll而不是Commons.lib
- 从.dll中调用.lib in C
- 如何在 go 中调用带有 .lib 和.dll文件的预构建 API
- 开发时C++ .lib,运行应用程序时.dll
- 尝试使用 .lib/.dll 时未解析的外部
- C# wrapper class for c++ lib dll
- 确定带有头文件的.lib / .dll