multiple definition of `main'

1,目录结构

在这里插入图片描述

2,报错内容

在这里插入图片描述

3,cmake

cmake_minimum_required(VERSION 3.5)

project(app)

if(CMAKE_COMPILER_IS_GNUCC)
    message("COMPILER IS GNUCC")
    ADD_DEFINITIONS ( -std=c++11 )
endif(CMAKE_COMPILER_IS_GNUCC)

SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -ggdb3")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
# 3. opencv
link_directories("/usr/local/lib")
include_directories("/usr/local/include/opencv4")

include_directories(${CMAKE_SOURCE_DIR})
# 6. 添加源文件
FILE(GLOB_RECURSE SOURCE_FILES ${CMAKE_SOURCE_DIR}/*.cpp )
message(${CMAKE_SOURCE_DIR})
message(${SOURCE_FILES})
# 7. 添加链接库
LINK_LIBRARIES(opencv_core opencv_highgui)

# 9. 设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,
#但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"
SET(ALL_SRCS ${SOURCE_FILES})
message(${ALL_SRCS})

# 10.add executable file,添加要编译的可执行文件
ADD_EXECUTABLE(${PROJECT_NAME} ${ALL_SRCS})

4,错误原因

在这里插入图片描述

5,修改方案一

# 6. 添加源文件
#FILE(GLOB_RECURSE SOURCE_FILES ${CMAKE_SOURCE_DIR}/*.cpp )
修改为
FILE(GLOB SOURCE_FILES ${CMAKE_SOURCE_DIR}/*.cpp )

5,修改方案二

在这里插入图片描述

# 6. 添加源文件
#FILE(GLOB_RECURSE SOURCE_FILES ${CMAKE_SOURCE_DIR}/*.cpp )
修改为
FILE(GLOB_RECURSE SOURCE_FILES ${CMAKE_SOURCE_DIR}/src/*.cpp )
  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值