在mingw和powershell上使用std::vector时出现C++错误

swvgeqrz  于 2023-06-25  发布在  Shell
关注(0)|答案(1)|浏览(224)

在执行一个使用std::vectorpowershell的简单程序时,我遇到了一些奇怪的行为

  1. #include <vector>
  2. #include <iostream>
  3. int main() {
  4. auto v = std::vector<int>{};
  5. v.push_back(0);
  6. std::cout << "Hello, World!\n";
  7. return 0;
  8. }

g++ -v返回gcc version 11.2.0 (Rev10, Built by MSYS2 project)
然后,我用g++ main.cpp -o main.exe编译程序,得到一个输出可执行文件。
当我用powershell运行.\main.exe时,我没有得到控制台输出,但是当我用git bash运行相同的可执行文件时,我得到了Hello, World!打印到控制台。
我测试了Powershell 7Windows PowerShell
当我删除必须与std::vector做的两行时,它在两个shell中都能工作。
当我从'cmd'运行executbale时,我得到以下错误消息

zfycwa2u

zfycwa2u1#

这发生在我身上是因为我在Windows系统中安装了多个gcc示例,并且它们都在PATH中。这混淆了动态加载器。删除一个,使得PATH中的gccONLY ON示例可用

相关问题