gpt4 book ai didi

c++ - 在 C++ 应用程序中链接到 C 库

转载 作者:太空宇宙 更新时间:2023-11-04 02:15:51 24 4
gpt4 key购买 nike

我正在 Visual Studio 2010 中开发 C/C++ 应用程序。该解决方案包含多个项目,这些项目已编译并汇总到一个可执行文件中。我正在尝试添加打印语句来调试一些关键函数。

我在其中一个 .c 文件的函数中添加了 printf 语句。我已经注意包括<stdio.h> . C 头文件包含在某个更高位置的 C++ 文件中。我知道 C 和 C++ 链接器的操作方式与 extern 之间存在差异。强制行为。但是,我不是细微差别方面的专家。

代码按以下方式设置:

    // proc.h
#ifdef __cplusplus
extern "C" {
#endif

void do_stuff();

#ifdef __cplusplus
}
#endif

-----------------------------------------------

// proc.c
#include "proc.h"
#include <stdio.h>

void do_stuff()
{
printf("Hello from proc.c -- do_stuff()");
// Some other stuff
}


当我构建应用程序时,我在 VS 输出窗口中看到以下错误消息:
[proj path]\common.lib(proc.obj) : error LNK2019: unresolved external symbol _printf referenced in function _do_stuff@20


我也试过把 #include <stdio.h>在头文件中,而不是在 c 文件中。在这种情况下,我得到:
error LNK2001: unresolved external symbol printf

最佳答案

您是否尝试使用 <cstdio>而不是 <stdio.h>

关于c++ - 在 C++ 应用程序中链接到 C 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7823605/

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