Binary CMake与代码块可执行文件大小不同 我有一个C++、Ubuntu、Linux 64的项目。 如果二进制文件是用make构建的,则由cmake生成。基于 CMakeLists.txt生成约720Kb的二进制文件,而code::blocks生成525Kb的二进制文件。 我的问题是为什么 CMakeLists.txt

Binary CMake与代码块可执行文件大小不同 我有一个C++、Ubuntu、Linux 64的项目。 如果二进制文件是用make构建的,则由cmake生成。基于 CMakeLists.txt生成约720Kb的二进制文件,而code::blocks生成525Kb的二进制文件。 我的问题是为什么 CMakeLists.txt,binary,g++,cmake,codeblocks,Binary,G++,Cmake,Codeblocks,这将产生一个二进制文件:721Kb,尽管Code::Blocks项目具有相同的文件, 相同的编译器设置,相同的库 代码::阻止输出生成: 代码::块 产生一个504Kb的二进制文件 多谢各位 cmake_minimum_required(VERSION 2.6) PROJECT(WHATEVER) set(CMAKE_C_COMPILER "gcc") set(CMAKE_CXX_COMPILER "g++") set(CMAKE_CXX_FLAGS &q

这将产生一个二进制文件:721Kb,尽管Code::Blocks项目具有相同的文件, 相同的编译器设置,相同的库 代码::阻止输出生成:

代码::块 产生一个504Kb的二进制文件

多谢各位

cmake_minimum_required(VERSION 2.6)
PROJECT(WHATEVER)
set(CMAKE_C_COMPILER "gcc")
set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_CXX_FLAGS "-std=c++0x -Wall -fexceptions -fpermissive -D__USE_MISC")
ADD_EXECUTABLE(mybinary 
                    file1.cpp
                    file2.cpp)

include_directories (.../include)
link_directories(../lib/)
TARGET_LINK_LIBRARIES(mybinary pthread dl ${CMAKE_CURRENT_LIST_DIR}/../lib/somelib.a)
SET(EXECUTABLE_OUTPUT_PATH ../bin)
Cleaned "mybinary - Release"

-------------- Build: Release in mybinary (compiler: GNU GCC Compiler)---------------

g++ -std=c++0x -Wall -fexceptions -fpermissive -D__USE_MISC -I../include -c /home/user/project/file1.cpp -o obj/Release/home/user/project/file1.o
g++ -std=c++0x -Wall -fexceptions -fpermissive -D__USE_MISC -I../include -c /home/user/project/file2.cpp -o obj/Release/home/user/project/file2.o
g++  -o ../bin2/mybinary obj/Release/home/user/project/file1.o obj/Release/home/user/project/file2.o -lpthread -ldl ../lib/somelib.a
Output file is ../bin2/mybinary with size 504.17 KB
Process terminated with status 0 (0 minute(s), 17 second(s))
0 error(s), 0 warning(s) (0 minute(s), 17 second(s))