[CMake] about Linking CXX executable main fail

doherty pete nishizawa23 at gmail.com
Mon Jan 24 04:31:17 EST 2011


my project tree is

.
|-- Bin
|   |-- oh yeah.aac
|   `-- oh yeah.h264
|-- CMakeCache.txt
|-- CMakeFiles
|   |-- CMakeCCompiler.cmake
|   |-- cmake.check_cache
|   |-- CMakeCXXCompiler.cmake
|   |-- CMakeDetermineCompilerABI_C.bin
|   |-- CMakeDetermineCompilerABI_CXX.bin
|   |-- CMakeDirectoryInformation.cmake
|   |-- CMakeOutput.log
|   |-- CMakeSystem.cmake
|   |-- CMakeTmp
|   |   `-- CMakeFiles
|   |       `-- cmTryCompileExec.dir
|   |-- CompilerIdC
|   |   |-- a.out
|   |   `-- CMakeCCompilerId.c
|   |-- CompilerIdCXX
|   |   |-- a.out
|   |   `-- CMakeCXXCompilerId.cpp
|   |-- main.dir
|   |   |-- build.make
|   |   |-- cmake_clean.cmake
|   |   |-- DependInfo.cmake
|   |   |-- depend.internal
|   |   |-- depend.make
|   |   |-- flags.make
|   |   |-- link.txt
|   |   `-- progress.make
|   |-- Makefile2
|   |-- Makefile.cmake
|   |-- Progress
|   |   |-- 1
|   |   |-- 10
|   |   |-- 11
|   |   |-- 12
|   |   |-- 13
|   |   |-- 14
|   |   |-- 15
|   |   |-- 16
|   |   |-- 2
|   |   |-- 3
|   |   |-- 4
|   |   |-- 5
|   |   |-- 6
|   |   |-- 7
|   |   |-- 8
|   |   |-- 9
|   |   `-- count.txt
|   |-- progress.marks
|   |-- rtspservice.dir
|   |   |-- build.make
|   |   |-- cmake_clean.cmake
|   |   |-- DependInfo.cmake
|   |   |-- depend.internal
|   |   |-- depend.make
|   |   |-- flags.make
|   |   |-- link.txt
|   |   `-- progress.make
|   |-- RtspService.dir
|   |   |-- build.make
|   |   |-- cmake_clean.cmake
|   |   |-- DependInfo.cmake
|   |   |-- depend.make
|   |   |-- flags.make
|   |   |-- link.txt
|   |   `-- progress.make
|   `-- TargetDirectories.txt
|-- cmake_install.cmake
|-- CMakeLists.txt
|-- cmd.txt
|-- Include
|   |-- cmd.h
|   |-- string_t.h
|   |-- TLock.h
|   |-- VBuffer.h
|   `-- VBufferT.h
|-- main.c
|-- Makefile
|-- Network
|   |-- CMakeFiles
|   |   |-- CMakeDirectoryInformation.cmake
|   |   |-- Network.dir
|   |   |   |-- build.make
|   |   |   |-- cmake_clean.cmake
|   |   |   |-- cmake_clean_target.cmake
|   |   |   |-- CXX.includecache
|   |   |   |-- DependInfo.cmake
|   |   |   |-- depend.internal
|   |   |   |-- depend.make
|   |   |   |-- flags.make
|   |   |   |-- link.txt
|   |   |   |-- progress.make
|   |   |   |-- Rtp.cpp.o
|   |   |   |-- Socket.cpp.o
|   |   |   |-- Tcp.cpp.o
|   |   |   `-- Udp.cpp.o
|   |   `-- progress.marks
|   |-- cmake_install.cmake
|   |-- CMakeLists.txt
|   |-- libNetwork.a
|   |-- Makefile
|   |-- Rtp.cpp
|   |-- Rtp.h
|   |-- Socket.cpp
|   |-- Socket.h
|   |-- Tcp.cpp
|   |-- Tcp.h
|   |-- Udp.cpp
|   `-- Udp.h
|-- Rtsp
|   |-- BaseEncoder.h
|   |-- Bitstream.cpp
|   |-- Bitstream.h
|   |-- CMakeCache.txt
|   |-- CMakeFiles
|   |   |-- CMakeCCompiler.cmake
|   |   |-- cmake.check_cache
|   |   |-- CMakeCXXCompiler.cmake
|   |   |-- CMakeDetermineCompilerABI_C.bin
|   |   |-- CMakeDetermineCompilerABI_CXX.bin
|   |   |-- CMakeDirectoryInformation.cmake
|   |   |-- CMakeOutput.log
|   |   |-- CMakeSystem.cmake
|   |   |-- CMakeTmp
|   |   |   `-- CMakeFiles
|   |   |       `-- cmTryCompileExec.dir
|   |   |-- CompilerIdC
|   |   |   |-- a.out
|   |   |   `-- CMakeCCompilerId.c
|   |   |-- CompilerIdCXX
|   |   |   |-- a.out
|   |   |   `-- CMakeCXXCompilerId.cpp
|   |   |-- Makefile2
|   |   |-- Makefile.cmake
|   |   |-- progress.marks
|   |   |-- Rtsp.dir
|   |   |   |-- Bitstream.cpp.o
|   |   |   |-- build.make
|   |   |   |-- cmake_clean.cmake
|   |   |   |-- cmake_clean_target.cmake
|   |   |   |-- CXX.includecache
|   |   |   |-- DependInfo.cmake
|   |   |   |-- depend.internal
|   |   |   |-- depend.make
|   |   |   |-- flags.make
|   |   |   |-- link.txt
|   |   |   |-- MediaSession.cpp.o
|   |   |   |-- MediaStream.cpp.o
|   |   |   |-- MediaStreamH264.cpp.o
|   |   |   |-- MediaStreamTransport.cpp.o
|   |   |   |-- progress.make
|   |   |   |-- RtpTransport.cpp.o
|   |   |   |-- Rtsp.cpp.o
|   |   |   |-- RtspResponse.cpp.o
|   |   |   |-- RtspSession.cpp.o
|   |   |   `-- RtspTransport.cpp.o
|   |   |-- RTSP.dir
|   |   |   |-- build.make
|   |   |   |-- DependInfo.cmake
|   |   |   |-- depend.internal
|   |   |   |-- depend.make
|   |   |   |-- flags.make
|   |   |   `-- progress.make
|   |   `-- TargetDirectories.txt
|   |-- cmake_install.cmake
|   |-- CMakeLists.txt
|   |-- libRtsp.a
|   |-- Makefile
|   |-- MediaSession.cpp
|   |-- MediaSession.h
|   |-- MediaStream.cpp
|   |-- MediaStream.h
|   |-- MediaStreamH264.cpp
|   |-- MediaStreamH264.h
|   |-- MediaStreamTransport.cpp
|   |-- MediaStreamTransport.h
|   |-- RtpTransport.cpp
|   |-- RtpTransport.h
|   |-- Rtsp.cpp
|   |-- Rtsp.h
|   |-- RtspResponse.cpp
|   |-- RtspResponse.h
|   |-- RtspSession.cpp
|   |-- RtspSession.h
|   |-- RtspTransport.cpp
|   `-- RtspTransport.h
|-- RtspClient
|   |-- ReadMe.txt
|   |-- RtspClient.cpp
|   |-- StdAfx.cpp
|   `-- StdAfx.h
|-- RtspService
|   |-- aac.h
|   |-- CMakeFiles
|   |   |-- CMakeDirectoryInformation.cmake
|   |   |-- progress.marks
|   |   `-- RtspService.dir
|   |       |-- build.make
|   |       |-- cmake_clean.cmake
|   |       |-- cmake_clean_target.cmake
|   |       |-- CXX.includecache
|   |       |-- DependInfo.cmake
|   |       |-- depend.internal
|   |       |-- depend.make
|   |       |-- flags.make
|   |       |-- link.txt
|   |       |-- progress.make
|   |       |-- RtspService_t.cpp.o
|   |       `-- StdAfx.cpp.o
|   |-- cmake_install.cmake
|   |-- CMakeLists.txt
|   |-- h264.h
|   |-- h264_slice.h
|   |-- h264_sps.h
|   |-- libRtspService.a
|   |-- Makefile
|   |-- ReadMe.txt
|   |-- Rtsp.cpp.bak
|   |-- rtspservice
|   |-- RtspService.h
|   |-- rtspservice.strace
|   |-- RtspService_t.cpp
|   |-- RtspService_t.h
|   |-- StdAfx.cpp
|   |-- StdAfx.h
|   |-- type.h
|   |-- vlc_bits.h
|   |-- yeah.aac
|   `-- yeah.h264
|-- tags
`-- tree.txt

28 directories, 206 files

and . CmakeList.txt is

PROJECT(main)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
SET(CMAKE_CXX_COMPILER g++)
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
#ADD_SUBDIRECTORY(${DIR_SRCS}/../Include)
ADD_SUBDIRECTORY(./Rtsp)
ADD_SUBDIRECTORY(./Network)
ADD_SUBDIRECTORY(./RtspService)
INCLUDE_DIRECTORIES(./Rtsp)
INCLUDE_DIRECTORIES(./Network)
INCLUDE_DIRECTORIES(./RtspService)
INCLUDE_DIRECTORIES(./Include)
INCLUDE(./Rtsp)
INCLUDE(./Network)
INCLUDE(./RtspService)
INCLUDE(./Include)
SET(CMAKE_CXX_FLAGS -std=gnu++0x -lpthread -lrt)
#ADD_SUBDIRECTORY(${DIR_SRCS}/../RtspClient)
ADD_EXECUTABLE(main .)
#TARGET_LINK_LIBRARIES(main Rtsp Network RtspService)
TARGET_LINK_LIBRARIES(main Rtsp Network RtspService)

./Rtsp/CmakeList.txt is
AUX_SOURCE_DIRECTORY(. DIR_Rtsp_SRCS)
INCLUDE_DIRECTORIES(../Rtsp/)
INCLUDE_DIRECTORIES(../Network)
INCLUDE_DIRECTORIES(../RtspService)
INCLUDE_DIRECTORIES(../Include)
INCLUDE(../Rtsp)
INCLUDE(../Network)
INCLUDE(../RtspService)
INCLUDE(../Include)
INCLUDE(.)
SET(CMAKE_CXX_FLAGS -std=gnu++0x)
ADD_LIBRARY(Rtsp ${DIR_Rtsp_SRCS})

./Network/CmakeList.txt
AUX_SOURCE_DIRECTORY(. DIR_Network_SRCS)
INCLUDE_DIRECTORIES(../Rtsp)
INCLUDE_DIRECTORIES(../Network)
INCLUDE_DIRECTORIES(../RtspService)
INCLUDE_DIRECTORIES(../Include)
ADD_LIBRARY(Network ${DIR_Network_SRCS})

./RtspService/CmakeList.txt is
AUX_SOURCE_DIRECTORY(. DIR_RtspService_SRCS)
INCLUDE_DIRECTORIES(../Rtsp)
INCLUDE_DIRECTORIES(../Network)
INCLUDE_DIRECTORIES(../RtspService)
INCLUDE_DIRECTORIES(../Include)
SET(CMAKE_CXX_FLAGS -std=gnu++0x)
ADD_LIBRARY(RtspService ${DIR_RtspService_SRCS})

cmake .
and make
there are have librtsp libnetwork librtspservice

but at last
it show

-- Configuring done
-- Generating done
-- Build files have been written to:
/home/nishizawa23/MyFile/8180/rtsp_linux_v5
[ 25%] Built target Network
[ 87%] Built target Rtsp
[100%] Built target RtspService
Linking CXX executable main
/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crt1.o: In function
`_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
make[2]: *** [main] Error 1
make[1]: *** [CMakeFiles/main.dir/all] Error 2
make: *** [all] Error 2

i have main.c at .
-- 
pete_doherty
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20110124/aa07ea1c/attachment.htm>


More information about the CMake mailing list