使用 Dev-C++ 编译自创头文件时出现问题?

     2023-02-16     236

关键词:

【中文标题】使用 Dev-C++ 编译自创头文件时出现问题?【英文标题】:Problem compiling self-created header file using Dev-C++? 【发布时间】:2010-12-01 10:14:11 【问题描述】:

我在 windows vista 上使用 Dev-C++。我有 3 个文件位于同一目录中。它们是:

- math_functions.h
- math_functions.c
- test3.c

math_functions.h 代码:

int   sum       (int x, int y);
float average   (float x, float y, float z);

math_functions.c 代码:

int sum (int x, int y)

  return (x + y);


float average (float x, float y, float z)

  return (x + y + z) / 3;

test3.c 代码:

#include <stdio.h>
#include "math_functions.h"

main ()

  int   theSum     = sum (8, 12);
  float theAverage = average (16.9, 7.86, 3.4);

  printf ("the sum is: %i ", theSum);
  printf ("and the average is: %f \n", theAverage);
  printf ("average casted to an int is: %i \n", (int)theAverage);

编译失败。我得到的错误信息是:

C:\Users\eSum\AppData\Local\Temp\ccKmdaaa.o(.text+0x3a) In function `main': 
[Linker error] undefined reference to `sum' 
[Linker error] undefined reference to `average' 
C:\Users\eSum\AppData\Local\Temp\ccKmdaaa.o(.text+0x3a) ld returned 1 exit status 

我使用在 ubuntu 中编译的完全相同的代码(我使用虚拟机运行 ubuntu,即 vmplayer),它编译时没有错误。

我需要在 Dev-C++ 中设置什么来编译文件吗?

【问题讨论】:

请不要使用 Dev-C++:jasonbadams.net/20081218/why-you-shouldnt-use-dev-c 嗨,Karl,您使用什么进行 C/C++ 开发?我是新手,今天刚开始 C/C++。我的讲师不限制我们可以使用什么软件。有什么很酷的 IDE 推荐(最重要的是:“易于编译”)吗? 【参考方案1】:

在制作 text3.exe 时,Dev-C++ 似乎没有将 math_function.c 与 test3.c 链接这是 Dev-C++ 中的一个配置问题,您很可能需要将 math_function.c 添加到 Dev-C++ 项目中

【讨论】:

我好多年没用那个东西了,宁愿用cygwin或者msys Cygwin 还是 msys?如果我没记错的话,我在任何代码编辑器中编写C/C++代码,然后打开命令行(windows中的CMD)并编译,是吗? 是的,完全正确;两者都提供 gcc 和 make,尽管 msys 的 gcc 并没有将所有内容都链接到 libcygwin1 谢谢。我将使用 notepad++ 作为代码编辑器和 cygwin 作为编译器 =)【参考方案2】:

问题不在于头文件,而在于您的项目设置。您必须将 math_functions.c 添加到项目中,以便编译并与 test3.c 链接。

【讨论】:

编译程序时出现错误消息

...17-11-2311:39:10【问题描述】:我是C++和Linux的新手。我正在使用的这段代码需要我安装我所做的HElib(同态加密库和其他库-GMP、NTL)。我想在HElib中编译具有头文件(FHE.h)的代码(main.cpp)。我的问题是如何将FHE.h(在HElib文件夹中)和m... 查看详情

使用 Dev-C++5.11 在 C++ 程序中编译的错误文件

】使用Dev-C++5.11在C++程序中编译的错误文件【英文标题】:WrongfilescompiledinaC++programusingDev-C++5.11【发布时间】:2017-01-2914:46:12【问题描述】:我想问一些听起来很愚蠢但我不知道如何克服它的问题。我编写了一个C++程序,其中包... 查看详情

使用vs开发qt项目时出现找不到qt头文件

vs编译QT时出现找不到QT标准头文件的错误(在装了QTforVS插件情况下,作如下操作)解决方式:项目--》右键--》QTProjectssettings-->QtModules-->选择依赖的模块对于不同的头文件有可能依赖不同的模块,可以百度... 查看详情

dev-c++编译问题~

...2;101’中\为字符,\n为换行 参考技术B回答整理一些使用时出现的问题现象:一调试就闪退解决方法:打开Devc艹后,按图片进行即可。最上方工具从左到右依次点击即可2.现象:有时会dos界面出现一闪而过的现象解决方式:... 查看详情

编译动态矩阵时出现file.exe错误

...【发布时间】:2015-04-3012:46:49【问题描述】:我正在尝试使用类制作动态矩阵。我制作了这段代码。检查了其他代码,它似乎是正确的。编译时我没有收到任何错误消息,除了运行这部分代码时程序中间的file.exe错误。它说file.ex... 查看详情

错误 C2059:尝试在已知大小的头文件中创建 Qt 容器时出现“常量”

...:我将Qt4.8.5与Windows7.0SDK中的MSVC2010编译器和调试器一起使用,并将Qtcreator作为我的IDE。以下语法 查看详情

将存储库从 Windows 迁移到 Linux 时出现格式错误的转储文件头(编码问题?)

...SVN存储库从Windows机器(Windows7)移动到Linux机器(Ubuntu13)。我使用svnadm 查看详情

使用 Qt 程序构建 crypto++ 时出现链接器错误

】使用Qt程序构建crypto++时出现链接器错误【英文标题】:Linkererrorwhilebuildingcrypto++withQtprogram【发布时间】:2019-01-2714:02:44【问题描述】:问题我将所有crypto++的头文件和源文件(.h,.cpp)添加到我的Qt5项目中。我构建了它,它给了我... 查看详情

使用 Laravel Mix 和 Tailwind 编译 SASS 时出现问题

】使用LaravelMix和Tailwind编译SASS时出现问题【英文标题】:ProblemcompilingSASSwithLaravelMixandTailwind【发布时间】:2021-06-1621:07:26【问题描述】:我正在尝试在我的mix.config.js中编译SASS文件,但我没有成功。talwind.config.jsconstprimaryColors=req... 查看详情

编译 mex 文件时出现链接错误

...以。但是我遇到了一些链接错误。我在MATLAB命令行窗口中使用的命令行是:mex-I/usr/include/-L/usr/lib/-O-DDEBUG-DFASTPLOGCalcEntropyScales 查看详情

在 TypeScript 文件中使用 node.d.ts 时出现编译错误

】在TypeScript文件中使用node.d.ts时出现编译错误【英文标题】:Compilationerrorwhenusingnode.d.tsinTypeScriptfile【发布时间】:2015-11-2107:05:55【问题描述】:我正在开发我的第一个node.js项目(出于学习目的),我想将TypeScript与VisualStudioCode... 查看详情

编译时出现ARC错误

...【发布时间】:2011-08-2317:09:06【问题描述】:我正在尝试使用LLVMGCC4.0编译器进行编译,但在我的多个.m文件中出现此错误:ARCforbidsexplicitmessagesendof\'release\'我尝试使用-fno-objc-arc作为编译器标志,但返回错误:无法识别的命令行... 查看详情

vscode编译时出现错误找不到prelaunchtask“g++”怎么办?

...单介绍task.json写05.06."version":"0.1.0",07.//要使用命令或者执行文件路径08."command":"tsc",09.//应command参数否命令否则执行文件路径10."isShellCommand":true,11.//否执行task任务显示控制台窗口12."showOutpu... 查看详情

为啥编译时出现cannotfindlz错误,怎么解决

...indlz错误,是设置错误造成的,解决方法如下:1、首先在使用angular-cli开发处理Base64,出现了编译错误【errorTS2304:Cannotfind】。2、首先终端执行命令【npmi-gtypescript@next】安装成功后继续执行命令【npmi--save-dev@types/node】。3、然后在... 查看详情

linux下编写c语言头文件,编译时出现“函数未定义”

...ndefinedreferenceto`print'collect2:ld返回1出现该错误的原因为编译时只变编译了源文件的一部分,故在链接时无法从编译好的目标代码中找到print函数,所以出错。根据你的源文件结构,个人推荐先单独编译源文件为多个object文件,... 查看详情

在使用eclipse编译jsp文件运行时出现如图的问题,请问该怎么解决?

8080端口被占了,把资源管理器打开,把java进程杀掉(可能会出现1~2个java进程,杀占内存小的那个)。参考技术A端口被占用了换下tomcat的端口追问怎么换端口呢?这个我不懂 参考技术B应该是你非法关闭了Eclipse,重启下就没事... 查看详情

请教一下大神,我使用androidkiller编译时出现了aapt已停止运行,是啥问题

你好,我使用过androidkiller还有apptoolbox,截入apk文件时,没有问题,反编译也没有问题,修改完后编译时就出现了aapt.exe已停止运行对话框。。两个软件都是同样的情况。后来我又试了一下,不做任何修改,反编译完直接编译,同... 查看详情

反编译apk时出现异常

...会隐藏任何xml文件或清单。它只会更改.java文件。我尝试使用apktool从Play商店反编译另一个应用的apk。然后我得到了以下异常Exceptioninthread"mai 查看详情