在编译文件中包含 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 库 的相关文章

  • C++ 中的错误分配异常

    在我的一个学校项目中 我被要求创建一个程序而不使用STL 在程序中我使用了很多 Pointer new Something if Pointer NULL throw AllocationError 我的问题是关于分配错误 有没有一个自动例
  • Clion如何将文件添加到项目中

    这看起来真的很基本 如何将文件添加到项目中而无需手动编辑CMakeLists txt 例如另一个目录中的源文件 CLion 解析CMakeLists txt并使用它生成项目视图 但我相信将文件添加到项目的唯一方法是编辑CMakeLists
  • C++11正则表达式匹配[重复]

    这个问题在这里已经有答案了 我正在尝试在 C 11 中进行相当简单的正则表达式匹配 使用 gcc 4 7 2 但我遇到了很多麻烦 尝试使用构建模式 std regex unquoted R regex s s regex 导致构造函数抛出一
  • CMake:如何更改单个目标的编译器

    我有使用交叉编译器的嵌入式项目 我想介绍一下Google测试 用原生GCC编译器编译 另外使用 CTC 编译器构建一些单元测试目标 Briefly 我有 3 个不同的目标并用 3 个不同的编译器编译它们 如何表达它CMakeLists tx
  • MSVC 可能/不太可能等效

    GCC 编译器支持 builtin expect 语句 用于定义可能和不可能的宏 eg define likely expr builtin expect expr 1 define unlikely expr builtin expect
  • Opencv - 找不到头文件

    我正在尝试使用 opencv 开始开发 问题是 到目前为止我几乎无法设置 opencv 因为我找不到它的头文件 我对此主题进行了一些研究 但没有一个真正有帮助 下面是一些链接 opencv2 包含文件在哪里 https stackoverf
  • C++x0 unique_ptr GCC 4.4.4

    我正在尝试使用 C x0 中的 unique ptr 方法是 include
  • 将 cmake 与 nmake x64 一起使用

    我使用 cmake 生成 NMake 文件 一切正常 我使用 x64 工具集 没有 Visual Studio 只有 SDK 因此我输入 nmake 但它生成 x86 构建而不是 x64 构建 你知道为什么吗 以及如何强制 nmake 以
  • C 未定义的行为。严格的别名规则,还是不正确的对齐? [复制]

    这个问题在这里已经有答案了 我无法解释该程序的执行行为 include
  • 如何在 CMake 中运行基本的“add_custom_command”

    我只是想启动并运行一个基本的 CMake 示例 它可以运行一些基本的命令行命令 我已经研究这个有一段时间了 但没有任何运气 我完全用错了吗 任何和所有的意见将不胜感激 cmake minimum required VERSION 3 0 a
  • 为什么我的多线程 C 程序在 macOS 上无法运行,但在 Linux 上却完全正常?

    我用 C 语言编写了一个多线程程序 使用 pthreads 来解决 N 皇后问题 它使用生产者消费者编程模型 一位生产者创建所有可能的组合 一位消费者评估该组合是否有效 我使用一个共享缓冲区 一次可以保存一个组合 一旦我有 2 个以上的消费
  • ARM、VFP、浮点、惰性上下文切换

    我正在为 ARM 处理器 Cortex A9 编写操作系统 我正在尝试实现浮点寄存器的延迟上下文切换 这背后的想法是 浮点扩展最初对线程禁用 因此不需要在任务切换上保存浮点上下文 当线程尝试使用浮点指令时 会触发异常 然后 操作系统启用浮点
  • 如何为 iPhone 构建静态库?

    我想我已经到处寻找问题的答案 但没有运气 我正在尝试创建一个简单的静态库来在 iPhone 设备上运行 但我总是以 XCode 结束 说 文件不属于必需的架构 并且我已经尝试了我发现的每个构建标志 但没有任何运气 我已经让它在模拟器上工作了
  • G++ 错误:“”的类型不完整

    我被迫使用第三方加密狗访问库 该库提供包含文件 sense4 h 其代码如下 if defined WINDOWS define WINAPI define CONST const typedef unsigned char UCHAR t
  • 为什么 GCC 不会在文件末尾生成任何有关换行符的警告?

    From C11 5 1 1 2 翻译阶段 第 2 段 非空的源文件应以换行符结尾 字符 其前面不得紧接反斜杠 发生任何此类拼接之前的字符 这意味着每个源文件都必须以换行符结尾 Example include
  • 与 glib-2.0 链接时,cygwin gcc 4.3 中的参数顺序很重要

    我正在尝试使用 cygwin 编译适用于 os x 和 linux 的代码 然而 我发现 gcc 的参数顺序给出了意想不到的结果 例如 以下情况会失败 gcc std gnu99 I usr include glib 2 0 I usr l
  • 是什么使 ELF 库中的符号成为对象或普通符号?

    我有一个正在加载一些插件的应用程序dlopen 具体来说dlopen name RTLD LAZY RTLD DEEPBIND 有一些插件 以二进制形式提供 可以正常加载 但我尝试构建的插件无法加载并出现错误 opt app plugins
  • C 十六进制常数类型

    我写了以下c代码 include
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 如何在cmake中静态链接到glibc

    我正在尝试从 Fedora 构建一个可以在 RedHat 6 机器上运行的包 所以我需要构建和静态链接一些RedHat机器中不存在的库 我发现我可以你 static libgcc or static libstdc 与标准库的静态版本链接

随机推荐