CMAKE编译报错 linker input file unused because linking not done

CMakeLists编译报错linker input file not found
解决办法:add_compile_options(-std=c++11 -o) 删掉 -o

原始CMakeLists

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

PROJECT ("tl_vi" CXX)

MACRO(sort_files source_files)
    SET(sgbd_cur_dir ${CMAKE_CURRENT_SOURCE_DIR})
    FOREACH(sgbd_file ${${source_files}})
        STRING(REGEX REPLACE ${sgbd_cur_dir}/\(.*\) \\1 sgbd_fpath ${sgbd_file})
        STRING(REGEX REPLACE "\(.*\)/.*" \\1 sgbd_group_name ${sgbd_fpath})
        STRING(COMPARE EQUAL ${sgbd_fpath} ${sgbd_group_name} sgbd_nogroup)
        IF(MSVC)
            string(REPLACE "/" "\\" sgbd_group_name ${sgbd_group_name})
        ENDIF(MSVC)
        IF(sgbd_nogroup)
            SET(sgbd_group_name "\\")
        ENDIF(sgbd_nogroup)
        SOURCE_GROUP(${sgbd_group_name} FILES ${sgbd_file})
    ENDFOREACH(sgbd_file)
ENDMACRO(sort_files)

INCLUDE_DIRECTORIES(
"${CMAKE_CURRENT_SOURCE_DIR}/include"
"${CMAKE_CURRENT_SOURCE_DIR}/3th/include"
)

IF(MSVC)
    ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
    ADD_DEFINITIONS(-DMSVC_VMG_ENÄBLED)
    SET(CMAKE CXX_FLAGS "${CMAKE_CXX_FLAGS} /vmg")
    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
ENDIF(MSVC)

IF(UNIX)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y ")
    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
ENDIF(UNIX)

FILE(GLOB all_files
include/*.h
include/*.hpp
include/*.hxx
include/*.tcc
src/*.cpp
src/*.cc
src/*.cxx
src/*.c
src/*.C
*.cpp
*.cc
*.cxx
*.c
*.C)

sort_files(all_files)
add_compile_options(-std=c++11 -o)
link_directories("${CMAKE_CURRENT_SOURCE_DIR}/3th/lib")
add_executable(tl_vi ${all_files})
target_link_libraries(tl_vi gtest pthread)

报错如下

[root@localhost test]# ./run.sh 
try build /home/d244/244/code/test
************************************************
start generate cake eclipse project...
-- The CXX compiler identification is GNU 11.2.1
-- Check for working CXX compiler: /opt/rh/devtoolset-11/root/usr/bin/c++
-- Check for working CXX compiler: /opt/rh/devtoolset-11/root/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/d244/244/code/test/build
************************************************
start build make project...
Scanning dependencies of target tl_vi
[ 50%] Building CXX object CMakeFiles/tl_vi.dir/main.cpp.o
c++: warning: CMakeFiles/tl_vi.dir/main.cpp.o: linker input file unused because linking not done
c++: error: CMakeFiles/tl_vi.dir/main.cpp.o: linker input file not found: 没有那个文件或目录
make[2]: *** [CMakeFiles/tl_vi.dir/main.cpp.o] 错误 1
make[1]: *** [CMakeFiles/tl_vi.dir/all] 错误 2
make: *** [all] 错误 2
build /home/d244/244/code/test fail

在这里插入图片描述

解决办法:add_compile_options(-std=c++11 -o) 删掉 -o
改完之后
在这里插入图片描述

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值