Clion如何部署项目?

dim*_*s93 6 c++ c++11 clion

我有以下CMakeLists.txt:

cmake_minimum_required(VERSION 3.3)
project(Thesis)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp Graph.h Graph.cpp)
add_executable(Thesis ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)

我在自定义文件夹上使用Run-> Build(作为发行版)ClionProjects\Thesis\exe\Release,我得到一个可执行文件Thesis.exe.如果我打开它,我会收到以下连续错误:

1

我到底错过了什么?

dim*_*s93 5

我的解决方案是静态链接库。不需要在.exe旁边站着笨拙的.dll。

在CMakeLists.txt上添加一行

set(CMAKE_EXE_LINKER_FLAGS -static)
Run Code Online (Sandbox Code Playgroud)

解决了我的问题。如果出于某种原因需要它,这里还有另外两个可用的选项。

#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS} -static-libgcc -static-libstdc++ -static")
#set(CMAKE_EXE_LINKER_FLAGS=-static-libgcc -static-libstdc++ -static)
Run Code Online (Sandbox Code Playgroud)

.exe从100KB增至1MB

编辑:几个更酷的选择

新增-s-O3我原来的CMakeLists.txt我的问题。

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -s -O3")
Run Code Online (Sandbox Code Playgroud)

-s大小从1MB减少到650KB。-s

-O3应该将优化级别设置为3,即最大-O3

您可以从gcc.gnu.org网站上看到所有选项。太多了 使用浏览器的“查找”选项(Ctrl + f)。