я делаю статическую библиотеку (файл .lib) без «предварительно скомпилированного заголовка». и названный проект_1.
main.cpp
#include<iostream>
using namespace std;
void display(void);
int main()
{
cout<<"test_main\n";
display();
return 0;
}
display.cpp
#include<iostream>
using namespace std;
void display(void)
{
cout<<"display\n";
}
и создайте этот проект («win32 release») и скопируйте файл .lib в другой проект, и все в порядке.
сейчас я хочу использовать этот .lib файл.
сейчас создайте project_2. (покажите ниже) и узнайте компилятор test.lib с этим:
linker-> input-> Additional Dependencies-> test.lib
и скопируйте файл test.lib в ту же папку с main.cpp (путь main.cpp и test.lib один и тот же).
main.cpp
//#include<iostream> // ERROR
using namespace std;
void display(void);
int main()
{
display();
return 0;
}
но когда пишешь #include<...>
(Пример ==> #include<iostream>
) в main.cpp, компилятор делает ошибку.
также, если удалить display();
в main.cpp компилятор делает Succeeded.
Я использую VS2012, и другие проблемы, у VC ++ 6 эта проблема не!
что я делаю?
Список ошибок:
ошибка LNK1319: 2 несовпадения обнаружен …
ошибка LNK2038: обнаружено несоответствие для ‘_ITERATOR_DEBUG_LEVEL‘: значение’ 0 ‘не соответствует значению’ 2 ‘в main.ob ….
ошибка LNK2038: обнаружено несоответствие для ‘Библиотека времени исполнения‘: значение ‘MD_DynamicRelease‘не соответствует значению’MDd_DynamicDebug‘в main.obj ….
Задача ещё не решена.