从C文件创建库时出错

 依然-狠幸福 发布于 2023-02-13 17:29

我试图从C++代码调用sample_c.c中定义的C函数(带有sample_c.h中的函数声明).我在sample_c.h中使用了这个声明

extern "C" void print_c(void);

和sample_c.c中的这个定义

extern void print_c(void) {....}

并尝试生成我想与我的cpp代码链接的lib.我试图用这个C代码生成lib时遇到错误.

gcc -c sample_c.c
error: expected identifier or ‘(’ before string constant

我无法纠正这个问题.有人可以建议我哪里出错了.

1 个回答
  • extern "C"在C中无效.要编写可用于C和C++的标头,必须确保extern "C"在编译为C时不可见:

    #ifdef __cplusplus
    extern "C"
    #endif
    void print_c(void);
    

    2023-02-13 17:30 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有