Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: Fess от Май 20, 2011, 13:59



Название: MSVS dll => link => MinGW/Qt app
Отправлено: Fess от Май 20, 2011, 13:59
Есть ли возможность слинковать библиотеку, собранную в MSVS С++ 2010 с проектом на MinGW?
dll - msvs:
foo.h
Цитировать
#ifdef FOO_EXPORTS
#define FOO_API __declspec(dllexport)
#else
#define FOO_API __declspec(dllimport)
#endif

FOO_API int foo(void);

foo.c
Цитировать
#include "foo.h"
FOO_API int foo(void) {

exe - MinGW:
main.c
Цитировать
#include <QtCore/QCoreApplication>

#include "foo.h"

int main(int argc, char *argv[]) {
   QCoreApplication a(argc, argv);

   foo();

   return a.exec();
}

ошибка:
undefined reference to `_imp___Z4Copyv'

собственно, задача заставить их генерировать одинаковые экспортируемые имена - возможно? как?


Название: Re: MSVS dll => link => MinGW/Qt app
Отправлено: alex312 от Июнь 22, 2011, 15:04
НЕТ.


Название: Re: MSVS dll => link => MinGW/Qt app
Отправлено: Pretorean от Июнь 22, 2011, 15:26
можно
Код:
#ifdef __cplusplus
extern "C"
{
#endif

...

#ifdef __cplusplus
}
#endif

dll в MSVS собери так чтобы ей не требовались рантайм библиотеки вроде MSVCR80.dll
потому что у mingw свой рантайм