gpt4 book ai didi

c++ - 尝试编译跨平台 C++ 代码。未定义对 C 函数的引用

转载 作者:行者123 更新时间:2023-11-30 02:10:39 25 4
gpt4 key购买 nike

我在我的 C++ 代码中使用 C 库 RS232 来控制 Arduino Uno 板。在我的 main.cpp 中,我得到了:

#include "rs232.h"

因为在rs232.h头文件中,他们已经有了:

#ifdef __cplusplus
extern "C" {
#endif

在一个文件夹中,我有: main.cpp rs232.hrs232.c标准文件标准文件.cpp

然后我用cygwin编译,这样代码就可以用于Linux了:

g++ main.cpp

但我遇到了“...对‘_OpenComport’的 undefined reference ”的错误,并且类似于我从 main.cpp 调用的所有 C 函数。

谁能告诉我如何在 C++ 中包含 C 头文件?还是我对 g++ 使用了错误的命令?

最佳答案

你需要把所有的源文件都传给编译器,像这样

g++ -o demo.exe main.cpp rs232.c stdafx.cpp

或者,将部件编译成一个库,并将编译和链接步骤分开。

关于c++ - 尝试编译跨平台 C++ 代码。未定义对 C 函数的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4417269/

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