Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Не могу заинклюдить внешнюю либу


Автор: Axell 30.4.2009, 08:05
Здравствуйте!
Пишу програмулину под Qt под linux для диплома. Но нужно будет ее адаптировать и под виндоз. Но поскольку всегда писал только под linux, столкнулся с проблемой подключения внешней либы под виндой.
Проект создавал в QDevelop. Под виндой все настроил, кроме инклюда libsndfile. Ставил его из установщика, он лёг в c:/program files/mega-nerd/sndfile. Компилятор - mingw32. Теперь не получается подключить sndfile.hh. В проект добавил -lsndfile (как в linux). Скопировал его в include в директории с mingw и проект компилится, а вот ld пишет, что не в курсе, что такое -lsndfile. Если убираю -lsndfile, то тогда при компиляции ошибка undefined *функция_из_либы_sndfile*.
Вообще, где нужно размещать либы или как еще указать на нах в проекте?

Автор: ecspertiza 30.4.2009, 08:48
Ну попробуй скопировать либы в папку MinGW/lib, либы я так понимаю либы должны быть типа libsndfile.a или libsndfile.lib.

Либы нужно размещать либо в MinGW/lib либо в Qt/lib и тогда сможешь их подключать как например -lsndfile или ты можешь размещать из в любом месте но тогда в проекте в LIBS нужно будет прописывать полный путь.

Автор: Axell 30.4.2009, 09:10
О! Добавить в LIBS - наверное это то, что мне нужно! Как доберусь до винды, попробую! Спасибо! =)

Автор: SABROG 30.4.2009, 11:10
Цитата(ecspertiza @  30.4.2009,  08:48 Найти цитируемый пост)
Либы нужно размещать либо в MinGW/lib либо в Qt/lib и тогда сможешь их подключать как например -lsndfile или ты можешь размещать из в любом месте но тогда в проекте в LIBS нужно будет прописывать полный путь.


Иногда, для удобства, я создаю в папке с проектом две подпапки: lib и include, куда помещаю .h и .a файлы сторонних разработчиков. Потом прописываю в .pro файле подобное:

Код

INCLUDEPATH += include
LIBS += -L$$PWD/lib -lmylib

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)