如何在我的项目中使用 FFTW DLL 导入库 .lib 作为静态 .lib?

2024-05-06

我了解 C++ 和编译小型插件(始终基于类似且布局的工作流程)。虽然目前我需要将最新版本的 FFTW 编译成静态库(或者从编译版本中获取它,这应该会容易得多),但这给了我一个非常困难的时间。可能是因为我不知道编译的来龙去脉。请注意,我正在使用 Visual Studio 在 Windows 上工作。

因为我真的想知道这应该如何运作,所以我在这里问这个问题。

基本上我需要 Windows 上的 fftw3f 库的静态 .lib,我可以将其包含在另一个 Visual Studio 项目中。

我做的第一件事是从网站下载 FFTW 的 64 位 dll(希望我可以使用它)。http://www.fftw.org/install/windows.html 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 库静态包含在我的输出中。

Using lib.exe /list libfftw3f-3.lib我发现 lib 文件引用了 libfftw3f-3.dll。

根据我的谷歌结果,这意味着我创建的 .lib 文件是DLL导入库代替静态库.

很难弄清楚如何表达我的问题,因为我不确定术语是什么以及发生了什么幕后。我猜:

  • 如何在我自己的项目中使用从 lib.exe 创建的 libfftw3f-3.lib 文件作为静态库。这样它就包含在我的输出 .dll 中而不是动态链接?

根据我从评论/答案中学到的知识,我很乐意更新/编辑/改写我的问题,以便对大多数其他用户来说更有意义,因为我可能会使用术语


您不能指望将 DLL 转换为静态库。

为了创建静态库,您需要从源代码重新编译该库,并输出目标为静态库。如果你无法获得源代码,那么你的目标就无法实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在我的项目中使用 FFTW DLL 导入库 .lib 作为静态 .lib? 的相关文章

  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 如何让 Visual Studio Team Foundation Server 查看我将代码移至其他文件夹?

    我将一些代码从 C 驱动器移至 D 驱动器 当我打开解决方案时 它告诉我 该解决方案似乎处于源代码控制之下 但其绑定 找不到信息 因为无法恢复 自动丢失信息 其绑定的项目 丢失将被视为不受源代码控制 所以我尝试永久删除绑定并下载最新版本 现
  • Visual Studio 2010 运行时库

    我编写了一个许多用户会在他们的计算机上使用的工具 但是我注意到 没有安装 Visual Studio 的用户无法打开我的可执行文件 该错误表明 msvcp100 dll 丢失 我在互联网上发现了一个来自微软的可再发行包 它显然应该提供这些
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况

随机推荐