Clion如何部署项目?
Clion how to deploy project?
我有以下 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})
我在自定义文件夹 ClionProjects\Thesis\exe\Release
上使用 运行->Build(作为发行版),我得到了一个可执行文件 Thesis.exe
。如果我打开它,我会收到以下连续错误:
我到底错过了什么?
您缺少 2 个必需的 DLL。
解决此问题的最简单方法是使用 GCC 中的 -static
选项告诉编译器对每个库静态 link。
另一种方法是将这些 DLL 复制到您的可执行文件所在的文件夹中。
第三种方法是找到那些DLL和register them。
我的解决方案是 link 静态库。那是不需要一个尴尬的 .dll 站在你的 .exe 旁边。
在 CMakeLists.txt
上添加一行
set(CMAKE_EXE_LINKER_FLAGS -static)
解决了我的问题。如果您出于某种原因需要它,这里还有其他 2 个选项也可以使用。
#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)
我的 .exe
从 100KB 变成了 1MB
编辑:几个更酷的选项
将 -s
和 -O3
添加到我原来的 CMakeLists.txt
问题中。
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -s -O3")
-s
大小从 1MB 减少到 650KB。 -s
-O3
应该将优化级别设置为 3,这是最大值 -O3
您可以看到 gcc.gnu.org site 中的所有选项。太多了。使用浏览器的 "find" 选项 (Ctrl + f)。
我有以下 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})
我在自定义文件夹 ClionProjects\Thesis\exe\Release
上使用 运行->Build(作为发行版),我得到了一个可执行文件 Thesis.exe
。如果我打开它,我会收到以下连续错误:
我到底错过了什么?
您缺少 2 个必需的 DLL。
解决此问题的最简单方法是使用 GCC 中的 -static
选项告诉编译器对每个库静态 link。
另一种方法是将这些 DLL 复制到您的可执行文件所在的文件夹中。
第三种方法是找到那些DLL和register them。
我的解决方案是 link 静态库。那是不需要一个尴尬的 .dll 站在你的 .exe 旁边。
在 CMakeLists.txt
上添加一行set(CMAKE_EXE_LINKER_FLAGS -static)
解决了我的问题。如果您出于某种原因需要它,这里还有其他 2 个选项也可以使用。
#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)
我的 .exe
从 100KB 变成了 1MB
编辑:几个更酷的选项
将 -s
和 -O3
添加到我原来的 CMakeLists.txt
问题中。
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -s -O3")
-s
大小从 1MB 减少到 650KB。 -s
-O3
应该将优化级别设置为 3,这是最大值 -O3
您可以看到 gcc.gnu.org site 中的所有选项。太多了。使用浏览器的 "find" 选项 (Ctrl + f)。