2014-12-04 5 views
0

Я большой поклонник StackOverflow, потому что у вас всегда есть ответы на проблемы, и теперь у меня есть шанс продвинуться вперед ...Компиляция и связывание библиотеки MSVC/MingW

Я пытаюсь использовать библиотеку, которую я получил в Интернете, ее OZCollide. Его suppossed быть кроссплатформенная, как он говорит в своем веб-сайте «Кросс-платформенный, работает на Windows, Linux и Macintosh, на самом деле любая платформа, поддерживающая VisualStudio 6/7 или НКУ»

я получил все .h и. cpp, скомпилируйте их с MinGW как объекты (.o), а затем соедините их все с помощью ar. Но проблема в том, когда я включаю и использую библиотеку в своем проекте (QT & MinGW), она выдает «неопределенную ссылку».

Я думал, что проблема может заключаться в том, что в библиотечных примерах используется только Visual Studio, поэтому библиотека не компилируется для MinGW, но веб-сайт рассказывает другую историю.

Спасибо за ваше время!


EDIT: Хорошо мне удалось собрать и использовать его перемещение на другой компьютер и компиляции Makefile. Единственное различие заключается в том, что на компьютере A установлены Cygwing и MinGW (с Cygwin, установленным в Windows-пути), а Computer B - только MinGW.

Так что, я думаю, проблема заключалась в том, что Makefile вызывал g ++, а Cygwin g ++ вызывался вместо MinGW g ++ ??

Если я прав, в чем разница между Cygwin и MinGW?

ответ

2

Если у вас есть опыт работы с CMake, создайте свой собственный файл CMakeLists и импортируйте/соедините эти библиотеки с вашим проектом. Таким образом, вы можете создавать проекты для MinGW/MSVC/Linux/и т. Д.

Здесь вы найдете хороший старт с CMake http://www.cmake.org/cmake-tutorial/

+0

Ну, честно говоря, я трудно научиться иметь дело с г ++, Makefile и т.д., потому что его мой первый раз, и Makefile, включенных в библиотеку WASN» т работы. Но я попробую вашу ссылку. – David

+0

С CMake вам не нужно заботиться об одном компиляторе. CMake установит для вас файл g ++ Makefile, MSVC .sln, в зависимости от того, какая платформа/компилятор установлена ​​на вашем компьютере и связать все библиотеки, которые вы хотите от своего приложения. Больше головных болей! – madduci

Смежные вопросы