Използване на вградена библиотека на GNU C++ в проекта VS C++

Опитвам се да внедря библиотека с отворен код, която е изградена с помощта на GNU компилатор. (а именно това: https://github.com/mjwybrow/adaptagrams )

Опитах да отворя и изградя този изходен код с помощта на VSC++ 6, но това води до над хиляда грешки поради строгия характер на VS компилатора, предполагам. И вместо да прегледам всяка грешка и да се опитам да я поправя сам, чудех се дали е възможно просто да включа .lib, ако е изграден с GNU компилатора?

РЕДАКТИРАНЕ:

В изходния код, свързан по-горе, е включен файл autogen.sh.

mkdir -p m4
autoreconf --install --verbose
automake -a --add-missing
./configure
make

Изпълнението на това с Cygwin води до създаването на няколко библиотечни файла .a, които са неизползваеми във VS. Добре ли е просто да ги преименувате на .lib файлове?

Намерих някои неща онлайн за това как да използвам GCC и да създам DLL, но проблемът ми е, че не знам достатъчно за GNU компилатора или makefiles, или изходния код като цяло, за да мога да го променя точно сега.

Някой има ли някакви указания какво точно трябва да променя, за да го оправя? Или още по-добре, някой създал ли е вече DLL, използвайки този изходен код, който би могъл да ми го предаде или да ме уведоми какво трябва да направя?

Или може ли някой да ме насочи към подобна библиотека, която би била съвместима с визуално студио?


person ChrisJ    schedule 04.04.2012    source източник
comment
защо vsc++ 6? Толкова е остарял и изпълнението му на c++ е много бъгово и не съответства на много места. Използвайте по-актуална версия на Visual Studio. Има налични безплатни версии.   -  person smerlin    schedule 04.04.2012
comment
Точно това беше вградено приложението, когато се присъединих към компанията. Започна работа по актуализиране на версията на VS, но това е толкова голямо приложение...   -  person ChrisJ    schedule 05.04.2012


Отговори (1)


Не; можете обаче да изградите .dll файла с gcc и да използвате .dll от msvc (или с ръчно изработен включен файл, или с правилно форматиран от самото начало, със специфични за платформата макроси за импортиране/експортиране отгоре).

person Blindy    schedule 04.04.2012
comment
Благодаря за вашия отговор. Най-накрая успях да изградя библиотеката с помощта на CygWin, но тя изгражда библиотеката с помощта на litool, което води до .la библиотечен файл - неизползваем в MSVC. Намерих някои неща онлайн, които показват как да изградя dll. Сега обаче проблемът ми е, че не съм много запознат с GCC компилатора и MakeFiles, които се използват. Ще редактирам публикацията си с повече подробности за този проблем... - person ChrisJ; 05.04.2012