首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mingw32-make以下带有"MinGW Makefiles“生成器的cmake无法将可执行文件链接到对象库

mingw32-make是一个用于Windows平台的GNU Make工具,用于构建和管理项目。它是MinGW工具集的一部分,提供了一种在Windows上使用GNU工具链进行编译的方式。

CMake是一个跨平台的开源构建工具,它可以生成与构建系统无关的Makefile或项目文件。CMake支持多种生成器,其中之一是"MinGW Makefiles"生成器,用于在Windows上使用MinGW进行构建。

根据提供的问题,问题描述了使用带有"MinGW Makefiles"生成器的CMake时,无法将可执行文件链接到对象库。这可能是由于以下原因导致的:

  1. CMakeLists.txt配置错误:请确保CMakeLists.txt文件正确配置了可执行文件和对象库之间的链接关系。检查是否正确设置了目标、源文件和链接库等参数。
  2. 编译器或链接器问题:可能是由于MinGW工具链的版本或配置问题导致的。尝试更新MinGW工具链或检查相关配置是否正确。
  3. 依赖库缺失:如果可执行文件依赖于某些库文件,但这些库文件未正确配置或未在链接过程中找到,可能会导致链接错误。确保所有依赖库都正确配置并可在链接过程中找到。

解决此问题的具体方法可能因项目配置和环境而异。建议按照以下步骤进行排查和解决:

  1. 检查CMakeLists.txt文件:仔细检查CMakeLists.txt文件,确保正确设置了可执行文件和对象库之间的链接关系。确保目标、源文件和链接库等参数正确配置。
  2. 检查编译器和链接器配置:确保MinGW工具链的版本和配置正确。尝试更新MinGW工具链或检查相关配置是否正确。
  3. 检查依赖库配置:如果可执行文件依赖于某些库文件,请确保这些库文件正确配置并可在链接过程中找到。

如果问题仍然存在,建议查阅CMake和MinGW的官方文档、社区论坛或寻求相关领域的专家支持,以获取更具体的解决方案。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云区块链(Blockchain):https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用MinGW编译OpenCV4源码与配置使用演示

-mingw 因为我安装了VS2015,所以一直是默认VS来编译,但是发现当从VS编译切换到mingw时候,OpenCVwindows版本就无法正确使用了。...这个时候要求首先通过mingw来编译OpenCV源码,重新生成OpenCV文件与dll文件。本文就详细记录了这个过程。...注意 这个过程中你最有可能遇到错误就是无法下载ffmpeg问题,解决方法也很容易,让可以下载的人给你下载,然后直接copy到你opencv\sources\3rdparty\ffmpeg目录下即可...02 生成安装文件 cmake完成之后,打开cmd,切换到build目录下,首先执行如下命令行参数 mingw32-make -j 8 ? 回车之后,就看到如下开始执行了,画面如下: ?...然后执行下一个命令行参数 mingw32-make install 大概在几十秒即可很快执行完成,执行完成之后你就会在这个目录得到编译好与dll文件

2.1K20

vscode一键配置CC++多个C及CPP文件编译与tasks.json和launch.json原理

如果有多个文件或项目文件 如果你写代码有多个文件,或者使用第三方时候有多个代码文件,这里就是使用makefiles构建程序了。...makefiles是用来组织管理不同文件编译链接顺序等用,可以简单理解为gcc/g++命令后面那一大串参数都放这里了,不用每次手敲,Cmake就是用来生成makefiles,因为makefiles靠手写也是很麻烦...思路: 1.cmake生成makefiles 2.make编译 3.调试 当然上面的步骤,我们是配置到tasks.json中自动执行。...// 所以如果以下三个斜杠不行的话,大家手动改成一个斜杠就好,即\"Unix Makefiles\" // 后面我给小程序默认写是3个 "\\\"Unix Makefiles\\\"", "....(2021/03/07更新) 3.这是执行目录后生成文件 这是配置信息: 最终说明 说明一: 以上生成文件,如果不能正确使用,请查看上文中tasks.json中Unix Makefiles

5.6K40

Go安装OpenCV(gocv)常见问题

-4.5.0.zip并解压到C:\opencv 下载opencv_contrib-4.5.0.zip并解压到C:\opencv cmake mingw32-make mingw32-make install...常见问题: 1. mingw32-make过程中断,编译失败 可能是由于多线程编译时有的依赖还没有生成造成 解决办法:反复执行mingw32-make 2....Python影响 如果你电脑装了Python,且环境变量添加了Python安装目录,可能会出现链接错误,这是因为有些lib依赖按环境变量在Python目录中找到了,而这些与编译不匹配。...链接:https://pan.baidu.com/s/1_nipZrmFPGkYma1NpgCq4A 提取码:t2r5 总共缺了以下几个文件,都需要拷贝: boostdesc_bgm.i boostdesc_bgm_bi.i...,重新在C:\opencv\build\目录下执行mingw32-makemingw32-make install即可。

1.1K10

程序员C语言快速上手——工程篇(十三)

cmake -G "MinGW Makefiles" 要注意,以上命令直接在CMD命令行执行可能会报错,它需要一个sh环境,这里有两种解决办法 将sh.exe所在目录加入到环境变量中,它位于MinGW...例如add_executable (main2 add.c sub.c mul.c div.c main.c) 外部构建 在上面的示例中,执行cmake命令会在源码工程目录下生成很多无法自动删除中间文件或临时文件...在源码工程根目录下创建一个build文件夹,然后在命令行里cd到build下,执行cmake ..或cmake -G "MinGW Makefiles" ..命令,此时会将所有的中间文件生成到build...main程序指定链接静态calc target_link_libraries(main calc) 首先执行cmake -G "MinGW Makefiles" ..命令自动生成Makefile文件...生成 Makefile文件 以下是不同环境下Makefile文件 Borland Makefiles MSYS Makefiles MinGW Makefiles NMake Makefiles NMake

2.9K30

Qt+opencv+EasyPR(车牌识别系统,从配置环境到成功运行)

运行cmake 点击configure: ? 点击configure 这时会弹出编译器选择界面,比如我用是qt是mingw,则选择mingw, 如果你是在VS下,则可以选择VS类编译器。...,执行下面两步 : mingw32-make // 等待45分钟左右编译完成,电脑好另说。...mingw32-make  install //等待1分钟左右 这时会在目标目录下生成一个install文件夹,和bin和头文件都在里面: ?...接下来就是在Qt中建一个空工程 在.pro中加入以下文件  320代表3.2.0opencv版本,各位根据自己版本进行修改,或者进C:\opencv\build\install\x86\mingw...其次,在config.h中记得修改以下路径,反正我用它相对路径会出错,所以使用了自己绝对路径,去找一下这些文件,svm_lbp.xml貌似没有,但不影响。 ?

3K30

cmake:install制作简单安装脚本

SDK安装功能,在make结束后自动把文件分类放在不同目录下,提供给用户,比只是把.h,.lib,.dll文件一股脑复制给用户,让用户自己去配置要好得多。...下面的cmake脚本片段,展示了用cmake install命令实现简单安装功能: ########安装脚本########## # 将生成target安装到指定目录下,这里 detect_cl,img_tool...是动态,test_detect是可执行程序, # cmake会自动根据target类型将可执行程序(如.exe)和动态(如.dll)作为RUNTIME类型复制到bin下, # 将动态导入库(....make install (gcc编译),在完成所有代码编译后,就自动把你指定文件复制到安装目录下。...如果你要指定不同安装目录,在生成 Makefile时候通过定义CMAKE_INSTALL_PREFIX变量来实现,如下: cmake -G “Eclipse CDT4 - MinGW Makefiles

2.3K10

CMake简易指南

:调用protoc编译proto文件、编译完成时拷贝数据等等Generator:生成器,可以理解为编译系统,如:Ninja / Unix Makefiles / Visual Studio / Xcodecmake-commands...链接选项有CMAKE_STATIC_LINKER_FLAGS / CMAKE_SHARED_LINKER_FLAGS / CMAKE_EXE_LINKER_FLAGS分别指静态、动态、可执行文件链接选项...**CMakeLists.txt**生效,已不推荐使用,新版有类似面向对象参数模式该使用方式不利于修改,实际使用中一般会选择 cmake 其他命令还辅助添加,以下为常用命令,注意最低cmake版本要求...POST_BUILD:链接成目标文件之后生成器表达式在 cmake 中,除了常规命令行,如if(xxx),还支持一种特殊语法 生成器表达式,生成器表达式与常规命令不同,常规命令在 配置 阶段生效,而生成器表达式在...交叉编译除了可是使用工具,也可以在配置阶段通过参数指定编译器等信息实现交叉编译;工具除了可以用于交叉编译,也可用于编译系统扩展,如:vcpkg 中可用于查找内置三方工具文件扩展工具微软开源项目中工具文件

63950

log4cplus最新介绍、详细编译过程及使用(最全面)

-windows) 方式三、cmake环境编译 在下载源码根目录下建个build_msvc文件夹,进入该文件夹,执行: log4cplus-2.0.8\build_msvc> cmake ../  ...gcc工具 若不需要vs工程,则需额外指定生成makefile文件类型如: log4cplus-2.0.8\build_msvc>cmake ../ -G"Unix Makefiles" 但以上生成默认是使用...MinGW工具 若使用MinGW编译器 ,则需指定 cmake -G "MinGW Makefiles" 生成MinGW Makefiles,而不是生成 MSVC 工程文件。...msvc工具(nmake) cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RELEASE -DTARGET_PROCESSOR=x64 ../ 这个操作前提是需要工具和...(其实是有生成,在src文件夹里,没和动态所在bin文件夹一块儿)。使用时别忘把头文件也拷贝进自己项目工程。 四、log4cplus使用 加载到工程 把需要文件放在工程目录下。

3.1K30

cmake:让mingw(gcc)生成MSVC可用dll(.lib)

mingw(gcc)编译出来动态(DLL)默认是没有MSVC连接动态所需要lib文件(import library)。...如果项目中不同模块用不同编译器编译,这时如果gcc编译DLL没有import library(lib文件),可以通过cmake设置选项让gcc在编译时候生成import library(lib...%source_folder% -G “Eclipse CDT4 - MinGW Makefiles” -DCMAKE_GNUtoMS:BOOL=ON cmak-gui 如下在cmake-gui界面中将...CMAKE_GNUtoMS选项勾选,再点按钮生成Makefile 然后执行make编译项目的过程中,生成dll时会输出下面的信息(前提是你安装了VC编译器)表明它在调用VClib...正在创建 libturbojpeg.lib 和对象 libturbojpeg.exp 编译完成后,你就会发现所有的dll都有对应lib文件了。

2.8K20

cmake:VS2015和GCC编译cJSON

cJSON是基于ANSI C跨平台JSON解析开源,在嵌入式应用中使用比较广泛, cJSON支持CMAKE编译,本文以脚本形式提供了使用CMAKE基于VS2015/Windows以及GCC/MinGW...环境要求 cmake 这是必须编译工具 Visual Studio 2015 OR MinGW for windows gcc for linux Visual Studio 2015 编译脚本 msvc_build.bat...要求cJSON源码文件夹与msvc_build.bat脚本在同一级文件执行以下脚本会编译出cJSON动态、静态,以及Debug和Release版本并安装到 release\cJSON_windows_vc_x86...gnu_build.sh脚本在同一级文件执行以下脚本同会编译出cJSOn动态、静态,并安装到release/cJSON-$machine 文件夹下 如果未指定环境变量BUILD_TYPE为DEBUG...cjson utils # BUILD_TEST build test # Optional Environment Variables: # TOOLCHAIN_FILE 指定交叉编译工具文件

1.2K10

cmake:VS2015和GCC编译cpp_redis

使用起来很方便,cpp_redis支持CMAKE编译,编译也很简单,本文以脚本形式提供了使用CMAKE基于VS2015/Windows以及GCC/MinGW编译过程。...环境要求 cmake 这是必须编译工具 Visual Studio 2015 OR MinGW for windows gcc for linux Visual Studio 2015 编译脚本 msvc_build.bat...要求cpp_redis源码文件夹与msvc_build.bat脚本在同一级文件执行以下脚本会编译cpp_redis 并安装到 release\cpp_redis_windows_vc_mt_x86...gnu_build.sh脚本在同一级文件执行以下脚本会编译cpp_redis安装到release/cJSON-$machine 文件夹下 如果未指定环境变量BUILD_TYPE为DEBUG,默认编译...build shared library,default static # Optional Environment Variables: # TOOLCHAIN_FILE 指定交叉编译工具文件

1.1K10

披着CLion外衣实则在讲CMake

按下图点开对应信息,如果你任何编译工具都没有添加,由于新版本 CLion 它会自带一个 mingw 编译套件,所以默认会有一个 CLion 自带 mingw 编译工具。...add_executable:用于添加可执行文件。第一个参数很重要,被称为 target,可以作为 target_xxx 命令接收对象。...add_library:用于添加文件,可以创建静态或动态。第一个参数很重要,被称为 target,可以作为 target_xxx 命令接收对象。...,且恰好同一个 cmake 项目中产生文件是可以直接通过名称链接,无论链接对象是在子目录还是父目录 target_link_libraries:用于将可执行文件文件接到文件或可执行文件。...include_directories:用于指定头文件搜索路径,优点是简单直接,缺点是无法进行权限控制,一旦被执行后,后续所有代码都能搜索到对应文件路径。

4.2K30

xmake v2.5.2 发布, 支持自动拉取交叉工具和依赖包集成

大体意思就是: 启用此布尔属性,可以自动创建一个模块定义(.def)文件,其中包含在Windows上共享(或使用ENABLE_EXPORTS执行文件)输入.obj文件中找到所有全局符号。...转换 mingw/.dll.a 到 msvc/.lib 这个特性也是参考自 CMAKE_GNUtoMS 功能,可以把MinGW生成动态(xxx.dll & xxx.dll.a)转换成Visual...往往这样项目同时有一些其他以vs格式提供,因此纯用MinGW编译也不行,只能使用cmake这个功能来混合编译。...,xmake 新提供了 on_buildcmd_file, on_buildcmd_files 等自定义脚本入口, 我们可以通过 batchcmds 对象,构造一个批处理命令行任务,xmake 在实际执行构建时候...这对于 xmake project 此类工程生成器插件非常有用,因为生成器生成第三方工程文件并不支持 on_build_files 此类内置脚本执行支持。

1.7K10

mingw编译ffmpeg+x265过程记录

X265需要安装cmake来生产工程文件,需要下载最新cmake-2.8.12版本,并安装,注意需要将其安装路径加入windows环境变量PATH变量下。...2.1 进入到x265/build/msys目录,执行 make-Makefiles.sh image.png 先点下面的configure,然后点generate即可,然后关闭,回到命令行。...缺少pkg-config程序、缺少x265.pc文件 image.png 查看config.log日志文件,根据以下错误信息,应该是缺少pkg-config程序,以及缺少对应x265.pc文件。...不能正确读取x265依赖导致,需要手动添加 image.png b) 奇怪链接错误 image.png c:/mingw/lib/libstdc++.a(new_op.o):new_op.cc...本质原因还是pkg-config不能正确解析x265.pc文件所致,解决方案如下: image.png c) 正确执行configure配置结果 image.png 可以看到ffmpeg依赖第三方已经正确配置好了

2.4K10

在 Windows 上搭建 MQTT 消息服务器

安装包安装下载会得到一个 msi 格式安装包,双击进行安装。图片下载安装包选择安装路径和所需安装功能,安装包也包含了 NanoSDK 文件:图片安装完成后程序自动退出。...启动的话可以使用 nanomq start --conf C:\nanomq\config\nanomq.conf 配置文件指定路径请根据第二步安装选择路径找到对应配置文件,简单配置选项有:#...目前 NanoMQ 在 Windows 下编译需要 MinGW-w64、Make 和 CMake。...编译 NanoMQPS: D:\Project\nanomq\build> cmake -G "MinGW Makefiles" ..PS: D:\Project\nanomq\build> make...\nanomq\nanomq.exe broker startVisual Studio Code 中编译需提前安装 VS Code C/C++ 和 CMake 相关插件图片图片图片点击选择编译工具

4.4K20

xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具支持

另外,如果我们要查看 xmake 支持所有工具,可以执行下面的命令,另外 xmake f -p cross --sdk=/xxx 编译配置可以支持更多通用交叉工具。...,就找到个第三方 ios 工具配置,很复杂:https://github.com/leetal/ios-cmake/blob/master/ios.toolchain.cmake 对于 mingw...-trybuild=cmake xmake 编译 mingw 程序: xmake f -p mingw --trybuild=cmake --mingw=/sdk/xxx xmake 我们只需要配置时候...用户不需要关系如果使用 cmake 去传递不同工具配置,xmake 都帮你自动处理了,你只需要简单执行 xmake 来编译,也可以执行 xmake -r 来重编,或者查看编译详情 xmake -v...sdk也进行了探测支持,并且检测效率也优化了下 改进 CMake 工程文件生成器 #931: 改进导出包,支持导出所有依赖包 #930: 如果私有包定义没有版本定义,支持直接尝试下载包 #927: 改进

1.3K10
领券