我一直在尝试在linux上编译一个windows64程序MSVAR1.3,但是在Linux和程序调用的头文件方面遇到了问题。该程序调用:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#ifdef __BORLANDC__
#include <float.h>如果我运行编译(使用linux中的gcc ),并尝试使用-I标志来告诉它头在哪里,这并不比我运行没有头的编译更好。我已经包含了下面的一些输出(我得到了几乎300行无法识别的变量)。
我还尝试使用数学库的-lm标志来运行它,这减少了无法识别的错误,但如果有与其他头文件的库相关的标志,我就无法找到它们。请帮帮我!
(使用-I标志运行时出现的错误:)
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'发布于 2014-01-05 13:41:47
"undefined reference“错误不是由于缺少头文件造成的--它们是链接器错误,表明您没有链接到对象,也没有指定导出这些符号的库的-l (减号ell)标志。头只构成了一个承诺,即与头声明匹配的变量和行外函数将在您在链接时提供的对象/库中找到-您正在违背这个承诺。
您需要找到包含这些符号的库,或者找到源代码并编译它们。
发布于 2016-09-01 02:00:02
我用命令编译了msvar1.3:
gcc -o msvar1.3 myutil.c msvar1.3.c -lmhttps://stackoverflow.com/questions/20930441
复制相似问题