【发布时间】:2013-09-26 10:10:21
【问题描述】:
我正在尝试使用 Eclipse 中的 C 项目生成两个 exe,客户端和服务器。两者都有主要功能,因为它们是不同的 exe。两者都使用一个通用的 confutils.c 文件。如何解决主要问题的多重定义。我知道我们不能在一个项目中拥有两个主电源。我的 makefile 如下所示。
.c.o:
gcc -g -c $?
# compile client and server
all: confclient confserver
# compile client only
confclient: confclient.o confutils.o
gcc -g -o confclient confclient.o confutils.o
# compile server program
confserver: confserver.o confutils.o
gcc -g -o confserver confserver.o confutils.o
我用这个替换了 eclipse 文件。我不知道eclipse是否正确阅读。我不喜欢把这个项目一分为二,因为它是如此简单的程序。我能够在 unix 中毫无问题地运行这些文件。我正在尝试查找 Eclipse 中是否有一个选项,我们可以使用它来设置构建配置。
【问题讨论】:
-
您不太可能犯此错误,因为您似乎知道自己在做什么,但请详细检查错误的输出。这是客户端或服务器的链接时错误吗?或者这仅仅是 Eclipse 标记的错误,但项目实际上链接正常?具体查看声称拥有多个
main()定义的目标代码模块。是否有可能以某种方式将 main 放在 all 三个 中? -
当我在 Unix 中运行文件时它可以工作。但是当我在 eclipse 中尝试同样的方法时,我得到了这个错误。我确定错误是因为我在 confclient.c 和 confserver.c 中有 main,但两者都没有进入同一个 exe 文件。
-
那么听起来eclipse正在尝试通过链接所有三个文件来为您链接您的项目。这应该可以作为两个可执行文件在 Eclipse 中进行正确设置。唉,我的日食技能不是 leet,否则我会把你送到正确的方向。
-
@WhozCraig,感谢您抽出宝贵时间回复。让我们看看是否有一些 eclipse 专家可以帮助我们。
-
希望我能为您提供更多帮助。祝你好运。