Это может быть глупый вопрос, но почему можно?
Функции с другими типами возвращаемых значений ( int
, double
и т. Д.) Работают отлично.
Исходный код для DLL:
// Library.h
#include <string>
std::string GetGreeting();
.
// Library.cpp
#include "Library.h"
std::string GetGreeting()
{
return "Hello, world!";
}
Исходный код для тестера:
// Tester.cpp
#include <iostream>
#include <Library.h>
int main()
{
std::cout << GetGreeting()
}
РЕДАКТИРОВАТЬ: Я использую VS2010.
Обходной путь - убедиться, что библиотека и исходный код скомпилированы с использованием того же компилятора с такими же параметрами и т. д.