gpt4 book ai didi

c++ - 如何将 C++ 目标文件链接到 C 可执行文件?

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:18 25 4
gpt4 key购买 nike

<分区>

我正在尝试从 C 文件调用 C++ 函数。所以我将函数声明为 extern "C"并在 C 文件中也声明了它。从 cpp 文件创建一个目标文件,我们称之为 cpp_object.o,然后为 main.c 创建一个目标文件。

我可以使用 g++ 链接它们并不是那么明显。不,主要调用一些 c 库,所以我不能将它们与 g++ 链接。所以我必须将它们与 gcc 链接起来。我尝试了以下方法:

main: main.o cpp_object.o
${CROSS}${CC} $^ -o $@ ${LDFLAGS}

它显示目标文件找不到 C++ stdlib 的错误。我不知道发生了什么事。用谷歌搜索它尝试了以下方法:

main: main.o get_config.o
${CROSS}${CC} $^ -o $@ ${LDFLAGS} -lstdc++

然后就成功了!?这是否意味着 gcc 使用 c++ stdlib 编译代码?但是我有点困惑,我们如何需要用 c++ STL 编译 C 代码?

那么这真的是我想要的吗?或者我错过了什么?

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