如何解决不能与 MinGW 静态链接 ncurses
我正在使用 Arch Linux 并尝试使用适用于 Windows 的 ncurses 库交叉编译一些代码。如果我让 MinGW 与 .dll 动态链接,一切都很好,但是一旦我添加了 -static
标志,我就会得到对所有 ncurses 函数的未定义引用(例如 __imp_initscr
或 __imp_stdscr
)。我该如何解决这个问题?
我的编译命令是这样的:
x86_64-w64-mingw32-g++ test.cxx -O2 -s -lncursesw -o test
解决方法
我通过查看布莱希特桑德斯提到的标题解决了这个问题。除非定义了 __declspec(dllexport)
,否则标头定义 NCURSES_STATIC
,因此添加 -DNCURSES_STATIC
作为编译选项可以解决所有问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。