如何解决使用mingw64编译静态cURL时对difftime64的未定义引用
我正在尝试为嵌入static executable
的Windows构建cURL
:
- MinGW-64(x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z link)
- 来自official website的预编译的CURL包
在链接阶段,我剩下一个linker error
之前,体验一直很简单。
third-party\lib\static\curl-7.73\lib\libssh2.a(session.o):(.text+0x367): undefined reference to `__imp__difftime64'
此函数似乎来自C standard library
,最初名为difftime
(<time.h>
)。由于我不明白的原因,在构建difftime
时,该符号似乎已从difftime64
重命名为session.o
。
我试图直接在源代码中复制function definition:
/* static __inline__ I don't want inline anymore */
/* I want to export this function for libssh2 */
double _difftime64( __time64_t __t1,__time64_t __t0 )
{
return (double)((long double)(__t1) - (long double)(__t0));
}
// I also tried to name the function "difftime64","_difftime64" and "__difftime64"
// With the same results
不幸的是,这种幼稚的方法行不通,linker error
仍然存在。有没有办法用session.o
重命名为bintutils
导入名称,还是有办法告诉链接器difftime64
实际上是difftime
?
解决方法
您可以从winlibs.com获得最新版本的MinGW-64的独立版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。