首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在linux上编译windows64程序的问题- headers

在linux上编译windows64程序的问题- headers
EN

Stack Overflow用户
提问于 2014-01-05 13:26:53
回答 2查看 118关注 0票数 0

我一直在尝试在linux上编译一个windows64程序MSVAR1.3,但是在Linux和程序调用的头文件方面遇到了问题。该程序调用:

代码语言:javascript
复制
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#ifdef __BORLANDC__
    #include <float.h>

如果我运行编译(使用linux中的gcc ),并尝试使用-I标志来告诉它头在哪里,这并不比我运行没有头的编译更好。我已经包含了下面的一些输出(我得到了几乎300行无法识别的变量)。

我还尝试使用数学库的-lm标志来运行它,这减少了无法识别的错误,但如果有与其他头文件的库相关的标志,我就无法找到它们。请帮帮我!

(使用-I标志运行时出现的错误:)

代码语言:javascript
复制
gcc msvar1.3.c -o msvar1.3 -lm/tmp/ccpZIkC1.o: In function `main':
msvar1.3.c:(.text+0x38): undefined reference to `opengfsr'
msvar1.3.c:(.text+0x927): undefined reference to `gfsr8'
msvar1.3.c:(.text+0x94c): undefined reference to `gfsr8'
msvar1.3.c:(.text+0x971): undefined reference to `gfsr8'
msvar1.3.c:(.text+0x9a2): undefined reference to `disrand'
msvar1.3.c:(.text+0x111a): undefined reference to `printerr'
msvar1.3.c:(.text+0x1809): undefined reference to `printerr'
msvar1.3.c:(.text+0x1ad2): undefined reference to `printerr'
msvar1.3.c:(.text+0x1be6): undefined reference to `gfsr8'
msvar1.3.c:(.text+0x2773): undefined reference to `closegfsr'
msvar1.3.c:(.text+0x2791): undefined reference to `closegfsr'
/tmp/ccpZIkC1.o: In function `treesummary':
msvar1.3.c:(.text+0x2808): undefined reference to `printerr'
/tmp/ccpZIkC1.o: In function `read_params':
msvar1.3.c:(.text+0x2b1f): undefined reference to `printerr'
msvar1.3.c:(.text+0x2b64): undefined reference to `printerr'
msvar1.3.c:(.text+0x2b72): undefined reference to `intrand'
msvar1.3.c:(.text+0x2bb7): undefined reference to `printerr'
msvar1.3.c:(.text+0x3000): undefined reference to `printerr'
msvar1.3.c:(.text+0x3063): undefined reference to `printerr'
msvar1.3.c:(.text+0x3077): undefined reference to `printerr'
/tmp/ccpZIkC1.o: In function `choosepar':
msvar1.3.c:(.text+0x36fb): undefined reference to `gfsr8'
msvar1.3.c:(.text+0x374b): undefined reference to `gfsr4'
msvar1.3.c:(.text+0x3799): undefined reference to `gfsr4'
msvar1.3.c:(.text+0x37b8): undefined reference to `norm4'
msvar1.3.c:(.text+0x37e5): undefined reference to `gfsr4'
msvar1.3.c:(.text+0x3826): undefined reference to `norm4'
msvar1.3.c:(.text+0x3853): undefined reference to `gfsr4'
msvar1.3.c:(.text+0x3894): undefined reference to `norm4'
msvar1.3.c:(.text+0x38f7): undefined reference to `norm4'
EN

回答 2

Stack Overflow用户

发布于 2014-01-05 13:41:47

"undefined reference“错误不是由于缺少头文件造成的--它们是链接器错误,表明您没有链接到对象,也没有指定导出这些符号的库的-l (减号ell)标志。头只构成了一个承诺,即与头声明匹配的变量和行外函数将在您在链接时提供的对象/库中找到-您正在违背这个承诺。

您需要找到包含这些符号的库,或者找到源代码并编译它们。

票数 2
EN

Stack Overflow用户

发布于 2016-09-01 02:00:02

我用命令编译了msvar1.3

代码语言:javascript
复制
gcc -o msvar1.3 myutil.c msvar1.3.c -lm
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20930441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档