情况为在代码中使用 STL 库中的 vector 模板时出错,编译没报错,执行可执行文件时报错
源代码:
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<int> a;
int cap = a.capacity();
cout<<cap<<endl;
for(int i = 0; i<=cap;i++){
a.push_back(1);
}
cout<<a.capacity()<<endl;
return 0;
}
出错信息: 无法定位程序输入点_gxx_personality_sj0 于动态链接库...\a.exe(可执行文件所在目录)
不知道哪里出错了,不使用 vector 模板可以正常运行,该怎么解决呢,谢谢大家了!
1
proxytoworld 2022-03-11 22:45:03 +08:00
实测没问题
|
2
Keen06 OP @proxytoworld 不是代码问题,感觉是编译器的链接方式问题,具体不太清楚,直接强制静态链接暴力解决。。。。
|
3
Keen06 OP @proxytoworld 感谢回复哈哈哈
|
4
pursuer 2022-03-11 22:53:25 +08:00
估计是 Windows 找到版本不一致的 g++运行时了。。详细的可能要查 PATH 变量了,或者调试器调一下
|
5
12101111 2022-03-11 22:55:33 +08:00
你要把 mingw 的运行时库复制到 exe 所在的目录
|
6
darknoll 2022-03-12 07:30:15 +08:00 via Android
设置环境变量
|
7
Keen06 OP 多谢大家回复了
|
8
tinkerer 2022-03-12 22:58:59 +08:00
windows 下尽量用 msvc
|