2010-04-14 59 views
1

我在编译为32位Linux计算机的二进制静态库libfoo.a。我想编译它与我用cygwin编译的win32项目。linkning Linux的静态库使用Cygwin

这可能吗?这似乎是可能的,因为档案中的所有目标文件都应该采用标准的ELF格式。

但是,我一直在收到有关nmlibfoo.a中找到的函数的链接错误。 当我创建了一个存根libfoo.a这与其他libfoo.a的同名一些空的功能,我没有收到任何再连接那些功能的错误。

这是甚至可能或我错过了什么? 无论如何,我该如何解决这个问题?

回答

0

即使你链接时,你将无法避免的建立在不同平台的代码不兼容成功。例如,标题(glibc和其他)在那里不同。为确保兼容性,类似于mangling的附加机制似乎用于由目标文件导出的符号。

试图联系在一起对象编译成不同的处理器架构文件时,我遇到过类似你这样的问题 - 纳米显示所有需要的功能都存在,但是连接不相信。