链接错误:未定义的符号:___strtod

时间:2011-12-06 17:29:18

标签: c linker static-linking fpc

我正在尝试将lua静态链接到FreePascal应用程序中。我已经修复了链接期间除了这个之外的所有错误。 未定义的符号:__ strtod

所有其他未定义的符号我能够通过libkernel32.a,libuser32.a和libmsvcr.a从MinGW编译器链接到我用来编译我链接的liblualib.a而不是使用DLL。

我想将此静态链接而非动态链接。那么,是否有人碰巧知道哪个.a lib文件___strtod已定义或知道如何搜索并找到它。

据我所知,这是一个C99功能和MinGW,GCC支持它。所以,我认为它会出现在随附的一个lib(.a)文件中。

谢谢,

3 个答案:

答案 0 :(得分:1)

事实证明,当我开始工作时,我从未回过头来回答我的问题。

我在网上搜索了C中的函数,然后使用MinGW将其编译为静态库。使用我创建的libstrtod.a文件,我能够将其静态链接到FreePascal编译的程序中。

我已经放弃了这个项目的来源,因为它是合同的,我会尽力记住这个例子来分享。

感谢所有回复和建议。

继续......

答案 1 :(得分:0)

它是C库libc的一部分。但是我不知道你可以静态链接到它。 (还有系统提供libc的静态版本吗?)

默认情况下,应该在C程序中链接Libc。

答案 2 :(得分:0)

只需创建一个使用库的静态版本的make文件。 静态库通常比动态库大得多。 您可以下载newlib并使用lua运行时直接编译源代码, 我猜这个newlib适用于MinGW。

我希望这会有所帮助。