![]() |
|
![]() ![]() ![]() |
|
avn |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 25.10.2005 Репутация: нет Всего: нет |
Доброго времени суток!
Имеется такая проблема в Visual Studio 9. Я для своих нужд разработал множество библиотек. Создается файл ALibrary-debug.lib для отладочной версии и ALibrary-release.lib для финальной в директории (допустим) C:\###\ALibrary\Export\Lib . Поскольку эта библиотека у меня используется активно в целой куче проектов, я ее определяю в два этапа: 1) создаю переменную среды ALIBRARY_LIB, в которой хранится C:\###\ALibrary\Export\Lib 2) в Visual Studio в Tools \ Options \ Projects and Solutions \ VC++ Directories \ Library files я сверху указываю " $(ALIBRARY_LIB) " Теперь во всех моих программах по идее оно должно подключаться автоматически. Но при линковке выдает LNK2001 и LNK2019. Если же я в теле программы явно указываю
, то все линкуется без проблем. Вопрос - где засада??? Я пробовал вместо $(ALIBRARY_LIB) указывать прямой путь - тот же результат. Компилируется без вопросов, хотя я в теле программ использую #include <ALibrary.h> и путь к ALibrary.h указан тем же самым образом. Все откомпилировано в одной версии Visual Studio |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 2 Всего: 135 |
в
ключевое слово Directories. А какой именно файл необходимо подключить в проект ты должен указывать в самом проекте или так как ты сделал ( #pragma ... ) или в свойствах проекта/Linker/Input/Additional Dependencies -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
avn |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 25.10.2005 Репутация: нет Всего: нет |
Почему я должен указывать файл для своей библиотеки, но не должен для того же Boost? Для него достаточно прописать в свойствах среды, а не указывать каждый LIB. В чем разница? Добавлено через 1 минуту и 22 секунды
Причем тут Directories? |
||||
|
|||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 2 Всего: 135 |
Вообще то, ты и стандартные библиотеки win32 должен указывать для линковщика. Просто за тебя это делает визард создания проекта. Загляни в свойства проекта в раздел linker, и ты увидишь там kernel32.lib, user32.lib и, скорее всего boost.lib. А о твоей библиотеке визард не знает, но ты можешь его научить: подправить шаблон нового проекта
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
borisbn, буст через pragma затягиватся в проект, просто это внутрях буста сделано
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 2 Всего: 135 |
jonie, а в gcc pragma работает, или там другой механизм ?
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
borisbn, вот ответ насчет "поддержка прагма lib":
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 2 Всего: 135 |
jonie,
![]() Добавлено через 13 минут и 36 секунд avn, jonie своим ответом про boost подсказал тебе как в vc удобнее включать свою библиотеку - через pragma в своём h-нике -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
avn |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 25.10.2005 Репутация: нет Всего: нет |
И вправду! ![]() Поиск в нутрях BOOST-а подтвердил наличие pragm-ы. Спасибо! Вопрос решен |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |