在编译文件中包含 mingw 库

2024-01-05

我正在使用 cmake 生成 Eclipse CDT MinGW 项目。 (Eclipse 版本开普勒)

这是我的 Cmakelist:

project(IMGTODICOM)

find_package(ITK REQUIRED)

include(${ITK_USE_FILE})

add_executable(IMGTODICOM IMGTODICOM.cxx)

target_link_libraries(IMGTODICOM ITKReview ${ITK_LIBRARIES})

代码在我的电脑上编译运行没有问题,但在其他电脑上却无法运行。一些dll就像libgcc_s_dw2-1.dll是必要的。我在我的电脑中查找了这个dll,并在其中找到了它C:\MinGW\bin。为了解决这个问题,我将该文件夹的内容复制到另一台电脑上,exe文件最终运行。 但是,我想知道是否有更好的方法可以在任何 Windows 电脑中运行 exe 文件,并在编译过程中添加这些库。

我正在阅读,我应该使编译器链接到静态库。在 Eclipse 中,我尝试在“属性”>“C/C++ 包含路径和符号”以及“项目路径”>“库”下添加 dll,但它不起作用。我尝试修改 CmakeList 但它也不起作用。

我不知道为什么会出现这个问题以及如何包含以下内容C:\MinGW\bin在exe文件中。

非常感谢您的帮助


是的,有办法。对于纯 C 代码:

set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static")

对于 C++ 代码:

set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在编译文件中包含 mingw 库 的相关文章

随机推荐