gpt4 book ai didi

无法获得混合的 C 和 Ada 程序以与 pthread 库链接

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:38 25 4
gpt4 key购买 nike

我正在用 C 编写程序。我收到错误:

file_name.c:(.text+0x5d): undefined reference to `pthread_create'

当 gcc 将我的 file_name.o 与我的主 ADA 文件链接时,会出现此特定错误。

对于C文件的实际编译,我尝试过同时使用:

gcc -c -pthread file_name.c 

还有:

gcc -c file_name.c -lpthread

这些似乎都不起作用。有什么想法吗?

更新:我没有意识到的一件事是,当结合 C 和 ADA 时,使用 gnatmake 时会包含 C 库。 .

问题已通过使用解决:

 gnatmake ada_file.adb -o -largs c_file.o -lpthread

最佳答案

如果您使用 -c 开关,则您没有链接您的代码。您只是将其编译成目标文件。在此阶段指定库没有意义。您的 -l 参数会被简单地忽略 - 当存在 -c 时,它没有任何作用,也没有任何意义。

这些库应该在链接时提供,即在您将目标文件组合到最终可执行文件(没有-c,类(class))。您没有向我们展示该命令行。该链接行正是您必须添加 -lpthread 参数的位置。

关于无法获得混合的 C 和 Ada 程序以与 pthread 库链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38859676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com