gpt4 book ai didi

c++ - Apple Mach-O 链接器错误,由于文件扩展名

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:00:13 25 4
gpt4 key购买 nike

可怕的典型链接器错误..

ld: 未找到体系结构 armv6 的符号collect2: ld 返回 1 个退出状态

但是,是filename引起的吗?我使用 C++/Objective-C,所以我所有的 Obj-C 文件都是 .mm,但我永远不能使用任何 .c 文件。例如,我在我的项目中包含了 SFMT 算法,这给了我这些错误,但只需将单个 .c 文件更改为 .cpp 就可以让它消失并且代码工作正常!我只包括标题,所以我不确定为什么这会有什么不同。

现在的问题是我正在尝试包含 Freetype2,给了我同样的问题(很确定是因为它是 .c),但是它太大了无法重命名每个文件,而且我还在使用链接的二进制文件,所以除非我用新的文件名重新编译它,否则我无法改变它。所以现在是时候找出这背后的真正原因了。

知道为什么会这样吗?如何停止 .c 文件的链接器错误?

最佳答案

将您的 Freetype 包含在 extern "C" 指令中:

// Non-C includes
#include <iostream>

extern "C"
{
#include <freetype/freetype.h>
// ... Other freetype includes
}

您可以在 extern "C" 指令中使用 #import 而不是 #include。我从未尝试过,但我不明白为什么它不起作用。

关于c++ - Apple Mach-O 链接器错误,由于文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9247156/

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