В настоящее время я использую Flex & Bison, сгенерировавший несколько кодов для разработки инструментов, похожих на SQL-парсер, этот код не может быть скомпилирован без вывода сообщений (может быть, это другая тема) в VS2005, но GCC / G ++ работает хорошо, затем я скомпилировал они кодируют с помощью mingw в dll (в windows xp), а затем связывают эти фасады функций в VS2005, но, похоже, не могут связать dll во время связывания.
MS VS2005 распознает dll, скомпилированную с помощью mingw на windows? Есть ли что-то, что мне нужно сделать дополнительно? Например, добавить что-то во включаемый файл, который объявляет экспортируемые API?
Кто-нибудь может дать несколько советов?
Условие, как и в VS2005, если вы хотите экспортировать некоторые API, вы можете показать файл * .def, чтобы сообщить nmake, какой API вы хотите экспортировать, а затем вы можете создать (или некоторые) * .h файл для объявления чего-либо об этих API (добавление некоторого префикса stdcall в качестве протокола вызова) и некоторое определение типа данных. Но с GCC / G ++ вам не нужно делать такие скучные вещи, просто используйте [ar], вы можете получить эти API, так что мой файл * .h не добавляет протокол вызова и не * .def, как объявление общей функции , После создания * .dll добавьте файл * .h и [mv] сгенерированные * .dll в каталог проекта VS2005, а затем установите связь * .dll в настройках проекта. Эти шаги породили мой вопрос?
Кстати, я обнаружил и протестировал dll, скомпилированную в VC6, может быть связано с mingw в Windows XP, но обратное не может работать.
В любом случае, простите мой плохой английский, и спасибо за вашу заботу.