libtool:i686-pc-mingw32 共享中不允许未定义的符号

2024-03-31

我正在使用自动工具作为我的库的构建系统。最近库被移植到Windows。尽管我遇到了一个奇怪的错误,但库编译和链接成功。配置和make后只有静态库。除了警告之外,一切看起来都很好libtool:

libtool: undefined symbols not allowed in i686-pc-mingw32 shared

我已经通过以下代码导出了 Windows 机器的所有符号:

#ifdef _WIN32
#    ifdef DLL_EXPORT
#        define LIBRARY_API __declspec(dllexport)
#    else
#        define LIBRARY_API __declspec(dllimport)
#    endif
#endif
#ifndef _WIN32
#    define LIBRARY_API
#endif

在我的每一个定义中:

class LIBRARY_API myClass {
// ...

Notes:
操作系统:Windows 8 x86_64
编译套件:MinGW x86_64、MSYS x86


In your configure.ac,确保您的 libtool 初始化如下所示:

LT_INIT([win32-dll])

另外,你还需要通过-no-undefined标记为 libtool 在你的Makefile.am。此标志禁用您收到的警告:

libexample_la_LDFLAGS = -no-undefined

有关此内容的更多详细信息,请参阅LT_INIT 文档 http://www.gnu.org/software/libtool/manual/html_node/LT_005fINIT.html.

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

libtool:i686-pc-mingw32 共享中不允许未定义的符号 的相关文章

随机推荐

  • 如何模拟 Jest/酶测试中的下拉菜单选择?

    我正在尝试为我的 React 组件编写笑话测试 该组件具有如下所示的下拉列表
  • 在 Python 3.4 中从 DataFrame 中删除 NA 值

    import pandas as pd import statistics df print pd read csv 001 csv keep default na False na values print df 我正在使用此代码创建一个
  • lme4 和 languageR 兼容性错误:“输入模型不是 mer 对象”

    我有一个数据集 dat2 我想在其上拟合线性混合效应模型 我过去使用 lmer 包 lme4 作为 pvals fnc 的补充来计算相关的 p 值 但是 由于我使用新的 lme4 1 0 4 和 languageR 1 4 包重新安装了 R
  • 在查询字符串中发布嵌套对象 - Node.js

    我的代码尝试将数据从本地 Node js 服务器发布到 Coldfusion API 我已成功与 API 进行通信并通过请求标头对自己进行身份验证 然而 我在实际传递 JSON 对象时遇到了困难 因为我无法获得正确的结构 API 不接受请求
  • 雷斯克 vs Sidekiq? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我目前正在使用Resque对于我的后台进程 但最近我听到了很多关于sidekiq 有人可以比较 区分吗 我特别想知道是否有一种方法可以
  • 使用 Javascript 获取支持 bean 值

    JSF 2 0 莫贾拉 2 0 1 PrimeFaces 3 4 1 有类似的问题 但我需要某物 别的 javascript函数必须等待backing bean方法 该方法正在填充想要从js函数中提取的变量 我想说的是
  • C++ 向量累加

    我试图对向量使用累积函数 vector
  • 在有序数组中添加额外的数字

    在已经上升的有序数组中插入新数字的最佳方法是什么 new number 6 old array array 1 3 4 5 7 8 10 new array must be 1 3 4 5 6 7 8 10 为什么不直接添加它并再次排序呢
  • OpenCV 2.4.1 - 在 Python 中计算 SURF 描述符

    我正在尝试更新我的代码以使用cv2 SURF 相对于cv2 FeatureDetector create SURF and cv2 DescriptorExtractor create SURF 但是 在检测到关键点后 我无法获取描述符 正
  • Android SU 权限:如何使用它们?

    这里有一种情况 我正在使用 Java 开发一个 Android 应用程序 我对这些东西都很熟悉 但现在这是我第一次需要使用 SU 权限 我只需要替换 实际上是重命名 system app 目录中的文件 但看起来我无法以通常的方式执行它 Fi
  • 启动python解释器时显示的消息的含义

    我知道这肯定是基本信息或知识 但我想知道 并且找不到答案 执行后立即显示什么信息或含义是什么python命令并启动解释器 例如 在这种情况下这意味着什么 Win32 上的 Python 3 8 7 tags v3 8 7 6503f05 2
  • Curl 返回 http 状态代码以及响应

    我使用curl 获取http 标头来查找http 状态代码并返回响应 我使用命令获取 http 标头 curl I http localhost 为了获得响应 我使用命令 curl http localhost 一旦使用 I 标志 我就只得
  • JUnit - 初始化程序错误中的异常

    我正在尝试使用静态方法测试一个类 但在这一行中出现错误 FormReferenceDataPopulator target new FormReferenceDataPopulator 这是失败的痕迹 java lang Exception
  • 防止导航到同一片段

    我正在使用带有 BottomNavigationView 的 Android 导航 jetpack 库 我已经实现了 NavHost NavGraph 和我的片段 当我使用操作进行导航时 一切都按预期进行 我使用以下代码来设置一切 val
  • 如何在 Angular 4 中创建分页组件? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个 API 端点 例如 list students page 5 rows 10带分页参数page and size 我想创建一个 a
  • 匹配平衡括号的正则表达式

    我需要一个正则表达式来选择两个外括号之间的所有文本 Example START TEXT text here possible text text possible text more text END TXT Result text he
  • 如何构建一个在用作 constexpr(如断言)时行为不同的自定义宏?

    从 C 14 开始 断言宏可以在函数中使用 即使它们被定义为 constexpr 我知道这与它的计算结果为 true 有关 但我无法弄清楚实际的代码是什么样子 具体来说 如何构建一个宏 该宏在运行时评估的 constexpr 函数中运行时打
  • PL/SQL 逗号分隔列表;删除重复项并放入数组中

    我有一个以逗号分隔的列表作为 PL SQL 过程中的字符串 我需要 删除重复项 将列表放入数组中 我发现了多种方法可以做到其中之一 但不能同时做到两者 有什么帮助吗 有一个众所周知的 SQL 技巧可以将逗号分隔的列表转换为行 只需使用这个技
  • 限制 .map 循环中的项目

    我想问一下如何限制我的 map例如 仅循环到 5 个项目 因为当前当我访问 api 时 它返回 20 个项目 但我只想显示 5 个 我发现大多数情况只是循环整个对象数组 而不是将其限制为多个项目 注意 我无法控制 API 因为我只是使用 m
  • libtool:i686-pc-mingw32 共享中不允许未定义的符号

    我正在使用自动工具作为我的库的构建系统 最近库被移植到Windows 尽管我遇到了一个奇怪的错误 但库编译和链接成功 配置和make后只有静态库 除了警告之外 一切看起来都很好libtool libtool undefined symbol