【发布时间】:2019-01-27 12:43:00
【问题描述】:
我正在尝试通过 mingw 将 cspice 与 g++ 一起用于 Windows。不幸的是 cspice 没有为 mingw 提供库。这些库位于https://naif.jpl.nasa.gov/naif/toolkit_C.html。 它为通过 cspice 定义的函数提供未定义的参考错误。它可以在 Linux 中正常运行。 任何人都可以提出一种使其工作的方法。
我跑:
g++ -LK:\Data\cspice\lib -IF:\CPP\Libraries\Boost\boost_1_68_0 -o foo foo.cpp -l:cspice.a -lm
我得到的错误是:
对“furnsh_c”的未定义引用 以及我在“SpiceUsr.h”中使用的其他功能。
我是否没有正确链接文件或者是什么错误。
【问题讨论】:
-
看起来链接中多了一个
:,除非你的库叫做:cspice.a。将-l:cspice.a更改为-lcspice -
库的名称是 cspice.a 和 mingw 参考说如果名称是 libfoo.a 你应该放 -lfoo 否则你需要把全名放在 : 之后,就像我做的那样。
-
您需要告诉我们您下载的确切库 + 发布失败的编译/链接命令的完整输出,包括命令 + 发布
g++ --version的输出。在问题正文中添加此信息,而不是在 cmets 中。
标签: c++ linker mingw linker-errors