Можно ли использовать библиотеки сборки под VC ++ в сборке cygwin gcc? - PullRequest
2 голосов
/ 29 июля 2010

У меня есть библиотеки, которые создаются с использованием VC ++.Я хочу использовать в программе одни и те же библиотеки и встроить компилятор Cygwin GCC.Будет ли этот сценарий работать?

Ответы [ 2 ]

1 голос
/ 29 июля 2010

Поскольку C ++ не имеет стандартизированного ABI , а поскольку Visual C ++ и g ++, в частности, почти наверняка имеют разные ABI, я не думаю, что вы можете сделать это. Ваш единственный реальный вариант - ограничить себя C, а не C ++.

Edit: Если все библиотеки, которые вы используете, являются прямыми C (extern "C", в терминах C ++), то вы должны иметь возможность совместно использовать библиотеки между компиляторами. (В противном случае ваши приложения Cygwin и MinGW не смогут вызывать Windows API.) Необходимо соблюдать осторожность, чтобы соответствовать соглашениям о вызовах. Например, Windows API использует __stdcall вместо стандартного соглашения о вызовах C. Вы можете указать GCC, какое соглашение о вызовах использовать с атрибутами функции . Google и файлы заголовков вашей библиотеки должны иметь больше информации о том, какое соглашение о вызовах использовать.

0 голосов
/ 29 июля 2010

Вероятно, нет

Существует mingw порт GCC (и множество инструментов GNU) для Windows, который использует стандартные библиотеки Windows - это в значительной степени замена Cygwin и должнопроще связать с gcc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...