C ++ вектор ошибка возврата назад

Я получаю ошибку каждый раз, когда я пытаюсь отладить это с помощью Visual C ++ 2008

#include <iostream>
#include <vector>
#include <string>
#include <fstream>

using namespace std;

void load(const char* filename) {
vector <string*> vec;
ifstream in(filename);
char buffer[256];
while(!in.eof()) {
in.getline(buffer, 256);
vec.push_back(new std::string(buffer));
}
}

int main(int argc, char* args[]) {
cin.get();
return 0;
}

получить эту ошибку

Compiling...
main.cpp
Linking...
main.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: __thiscall std::_Vector_const_iterator,class std::allocator > *,class std::allocator,class std::allocator > *> >::_Vector_const_iterator,class std::allocator > *,class std::allocator,class std::allocator > *> >(class std::basic_string,class std::allocator > * *,class std::_Container_base_secure const *)" (??0?$_Vector_const_iterator@PAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@PAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE@PAPAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PBV_Container_base_secure@1@@Z)
E:\blabla\Debug\test2.exe : fatal error LNK1120: 1 unresolved externals

Что я делаю неправильно?

2

Решение

Похоже, вы создаете отладочную версию своего проекта, но вы ссылаетесь на не отладочную версию C-Runtime DLL. Вы можете проверить это в:

[Project] -> Properties -> C/C++ --> Code Generation --> Runtime Library

Библиотека времени выполнения должна быть указана как: «Многопоточная отладочная DLL (/ MDd)» для отладочной сборки.

На самом деле вы должны обнаружить, что проект работает так же хорошо, как и «Release», поскольку CrtDbgReportW не вызывается std::vector в сборках релиза и, следовательно, не нужно найти этот символ во время ссылки.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]