bitcoind.cpp:(.text.startup+0x0): `main'被多次定义
../obj/bitcoin-cli.o:bitcoin-cli.cpp:(.text.startup+0x0):第一次在此定义
../obj/bitcoin-tx.o:在函数‘main’中:
bitcoin-tx.cpp:(.text.startup+0x0): `main'被多次定义
../obj/bitcoin-cli.o:bitcoin-cli.cpp:(.text.startup+0x0):第一次在此定义
../obj/bitcoin.o:在函数‘main’中:
bitcoin.cpp:(.text.startup+0xc0): `main'被多次定义
../obj/bitcoin-cli.o:bitcoin-cli.cpp:(.text.startup+0x0):第一次在此定义
在生成.o文件时出现错误,该问题是什么原因?怎样解决?
6 个解决方案
#1
被多次定义...
那你只定义一次不行么?
那你只定义一次不行么?
#2
g++编译命令是什么? 或者代码定义了多个main入口函数?
#3
删除一个main函数
#4
在你的一个工程中的多个cpp文件中都有main函数, 就会这样. 你要保证编译的所有cpp文件中只能有一个main函数. 因为c++程序入口只能有一个.
#5
一个CPP 会被编译为 一个OBJ对象文件
每个OBJ又会被装进 其它二进制文件
这个二进制是一个整体 一个整体的DLL或者 EXE 如果DLL中要调用其它LIB 则由这些LIB装入OBJ 以供调用
装入时同时会包含各个函数的所属类型和索引标识 像main这种全局类型的函数 是不会有类类型的 但也有void_cdel的标识
多重定义很明显要出问题 真到了调用main 函数的时候 怎么找要调用哪一个main??? main比较特殊 是不能重载的一个函数
错误 9 error C2731: “main”: 无法重载函数[/code]
要不就删去多余的main
要不就使用宏做屏蔽
也可以删除掉其它包含多余main的cpp 如果你目前的功能 不需要使用这些cpp对应的OBJ的话
每个OBJ又会被装进 其它二进制文件
这个二进制是一个整体 一个整体的DLL或者 EXE 如果DLL中要调用其它LIB 则由这些LIB装入OBJ 以供调用
装入时同时会包含各个函数的所属类型和索引标识 像main这种全局类型的函数 是不会有类类型的 但也有void_cdel的标识
多重定义很明显要出问题 真到了调用main 函数的时候 怎么找要调用哪一个main??? main比较特殊 是不能重载的一个函数
错误 9 error C2731: “main”: 无法重载函数[/code]
要不就删去多余的main
要不就使用宏做屏蔽
也可以删除掉其它包含多余main的cpp 如果你目前的功能 不需要使用这些cpp对应的OBJ的话
#6
main()函数多写了一个
#1
被多次定义...
那你只定义一次不行么?
那你只定义一次不行么?
#2
g++编译命令是什么? 或者代码定义了多个main入口函数?
#3
删除一个main函数
#4
在你的一个工程中的多个cpp文件中都有main函数, 就会这样. 你要保证编译的所有cpp文件中只能有一个main函数. 因为c++程序入口只能有一个.
#5
一个CPP 会被编译为 一个OBJ对象文件
每个OBJ又会被装进 其它二进制文件
这个二进制是一个整体 一个整体的DLL或者 EXE 如果DLL中要调用其它LIB 则由这些LIB装入OBJ 以供调用
装入时同时会包含各个函数的所属类型和索引标识 像main这种全局类型的函数 是不会有类类型的 但也有void_cdel的标识
多重定义很明显要出问题 真到了调用main 函数的时候 怎么找要调用哪一个main??? main比较特殊 是不能重载的一个函数
错误 9 error C2731: “main”: 无法重载函数[/code]
要不就删去多余的main
要不就使用宏做屏蔽
也可以删除掉其它包含多余main的cpp 如果你目前的功能 不需要使用这些cpp对应的OBJ的话
每个OBJ又会被装进 其它二进制文件
这个二进制是一个整体 一个整体的DLL或者 EXE 如果DLL中要调用其它LIB 则由这些LIB装入OBJ 以供调用
装入时同时会包含各个函数的所属类型和索引标识 像main这种全局类型的函数 是不会有类类型的 但也有void_cdel的标识
多重定义很明显要出问题 真到了调用main 函数的时候 怎么找要调用哪一个main??? main比较特殊 是不能重载的一个函数
错误 9 error C2731: “main”: 无法重载函数[/code]
要不就删去多余的main
要不就使用宏做屏蔽
也可以删除掉其它包含多余main的cpp 如果你目前的功能 不需要使用这些cpp对应的OBJ的话
#6
main()函数多写了一个