gpt4 book ai didi

c++ - 如何从同样具有 'main' 的 .cpp 源文件中链接函数?

转载 作者:太空狗 更新时间:2023-10-29 23:47:59 24 4
gpt4 key购买 nike

我想使用 .cpp 源文件中的一些函数,这些函数在我的 .cpp 源文件中有一个 main 函数。 (我正在使用 make 和 gcc 进行构建。)

这是我的 Makefile 中的规则:

$(CXX) $(CXXFLAGS) $(INCLUDES) $(SRCS) $(LIBS) -o $@

这是输出(更改了一些名称以防止分心):

$ make foo
g++ -g -Wall -m32 -Ilinux/include foo.cpp bar.cpp -o foo
/tmp/ccJvCgT3.o: In function `main':
/home/dspitzer/stuff/bar.cpp:758: multiple definition of `main'
/tmp/ccUBab2r.o:/home/dspitzer/stuff/foo.cpp:68: first defined here
collect2: ld returned 1 exit status
make: *** [foo] Error 1

如何向 gcc 表明我想使用 foo.cpp 中的 main?

更新: 我应该补充说“bar.cpp”是“其他人的”代码,并且有它自己的 main 原因。 (听起来我应该与其他人合作,让他将共享功能拆分到一个单独的文件中。)

最佳答案

您可以做的是将每个 main() 函数包装在一个 #ifdef block 中,然后使用命令行定义将导致使用相关 main 的符号。

#ifdef USE_MAIN1
int main(void)
{

}
#endif

然后确保在 gcc 命令行中添加类似这样的内容

-DUSE_MAIN1

或者只是重构您的代码!

关于c++ - 如何从同样具有 'main' 的 .cpp 源文件中链接函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3080156/

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