c++ - 从 powershell 编译 C++ 项目不起作用
问题描述
我正在和 2 个朋友一起编写一个国际象棋引擎,它变得非常强大(超过 3000 Elo)。我们已经用 C++ 编写了代码并使用 make 进行编译。出于某种原因,MinGW 的正常安装程序没有做它应该做的,所以我选择了 msys2 并使用 msys2 安装了所有需要的包。
我不熟悉在 windows 下编译 C++,问题是:
当我使用 Git Bash 或 powershell 编译程序时,它可以很好地编译(除了一些警告):make native
问题是我需要执行程序的方式:
- 如果我使用 powershell 或 cmd 运行它不起作用
- 如果我双击它不起作用(请参阅下面的错误消息)
- 它仅在从 bash 调用时才有效
如果您不熟悉德语,这是一个粗略的翻译:
The procedure entry point "..." was not found in the DLL "..."
我们提供了一个生成文件,它可以构建不同的版本(本机、发布(用于多种硬件))。运行非本机版本Koivisto_3.9-x64-windows-popcnt-avx.exe
,只需双击它即可运行。
文件大小也有很大不同:
- 本国的:
600kb
- 非本地人:
3100kb
整个项目在github上:Koivisto Chess Engine
makefile 可以在这里找到:Makefile
我想知道为什么似乎存在这种差异以及为什么本机版本只能在 bash 中运行。如果有人可以向我解释这种行为,甚至可能告诉我解决这个问题的方法,我会非常高兴。
我很高兴有任何建议!
问候,芬恩
解决方案
推荐阅读
- javascript - 通过 AJAX 向 MVC 控制器发送字符串
- java - 是否可以不通过文件名而是通过其内容(字符串值)来解析 xml?
- vi - 前面板LabVIEW中的井字游戏线交叉
- php - php - 一个接一个地加载两个页面
- azure - Azure Log Analytics 解析 json
- mysql - 在 MySQL 中按引用插入
- reactjs - 导入 NPM 包仅用于 Next.js 应用中的服务器端渲染(SSR)
- python - 需要用作整数时输入返回字符串
- amazon-s3 - 我的 lambda 从 S3 存储桶中读取 JSON 文件,并将数据摄取到 Redshift 表中。但我遇到了“频谱扫描错误”
- flutter - 颤振:滚动控制器 AnimateTo 功能并不总是到达所需的位置