cmake如何使用mingw编译生成64位的文件
时间: 2024-04-29 12:26:55 浏览: 49
要使用CMake和MinGW编译生成64位文件,需要按照以下步骤操作:
1. 确保已经安装了64位版本的MinGW和CMake。
2. 在CMakeLists.txt文件中添加以下内容:
```
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
```
这将指定CMake使用64位版本的MinGW编译器。
3. 添加以下内容:
```
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
```
这将指定编译器链接静态库。
4. 在命令行中运行以下命令:
```
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-m64" -DCMAKE_C_FLAGS="-m64" ..
```
这将使用64位编译器生成Makefile。
5. 运行以下命令编译项目:
```
mingw32-make
```
6. 编译完成后,生成的文件将位于build文件夹中。
相关问题
windows下 使用 cmake + mingw64 编译 exe时,如何指定 exe 的图标文件
在 Windows 下,使用 CMake 和 MinGW64 编译 exe 文件时,可以通过修改链接器的命令行参数来指定 exe 文件的图标文件。
具体步骤如下:
1. 在 CMakeLists.txt 文件中添加以下代码:
```cmake
if(WIN32)
set(WIN_ICON "${CMAKE_CURRENT_SOURCE_DIR}/path/to/icon.ico")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-subsystem,windows,-mwindows,-lcomctl32 -Wl,--out-implib,lib${PROJECT_NAME}.a -Wl,--output-def,${PROJECT_NAME}.def -Wl,--enable-stdcall-fixup -Wl,--stack,0x00200000,--enable-auto-image-base,--no-demangle,--add-stdcall-alias,--kill-at")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-H${WIN_ICON}")
endif()
```
这里的 `WIN_ICON` 是指定的图标文件路径。
2. 使用 CMake 和 MinGW64 生成 Makefile。
3. 在命令行中进入到生成的 build 目录,执行 `mingw32-make` 命令进行编译。
编译完成后,生成的 exe 文件会带有指定的图标。
注意:这里使用的是 `-H` 选项来指定 exe 文件的图标,而不是 `-I` 选项,因为在 MinGW64 中,`-I` 选项已经被用于指定头文件路径了。
cmake64 mingw32
对于在Windows环境下使用CMake、MinGW-w64和Qt5.10编译OpenCV3.4的问题,可以参考以下步骤:
1. 首先,确保已经安装了CMake、MinGW-w64和Qt5.10,并配置好它们的环境变量。
2. 打开CMake GUI,并设置源代码路径和构建路径,分别指向OpenCV的源代码和你想要构建的目标文件夹。
3. 点击"Configure"按钮,选择"MinGW Makefiles"作为生成器,并等待配置过程完成。
4. 在"Configuration"面板中,可以选择需要开启或关闭的选项,例如是否开启编译示例程序、是否开启优化等。
5. 点击"Generate"按钮,CMake将生成对应的Makefile文件。
6. 在生成的目标文件夹中打开命令行终端,并运行"mingw32-make"命令以开始编译OpenCV。
7. 等待编译过程完成后,可以在构建目录中找到生成的OpenCV库文件。
8. 最后,将编译好的OpenCV库文件安装到系统中,以便其他项目可以使用。
需要注意的是,根据引用内容中的描述,你还可能会遇到一些问题,如配置过程中出现的错误,可以根据错误提示进行相应的修复。另外,有时可能需要安装DirectX或取消相关的报错。
希望以上步骤对你有所帮助。如果还有其他问题,请随时提问。