Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос по линковке VS2008 
:(
    Опции темы
mrgloom
Дата 27.5.2013, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



был работающий солюшн
к нему я добавил empty project 
в project dependencies проставил зависимость от главного проекта
configuration type стоит .dll
в additional dependencies я эту либу не прописывал
при попытке скомпилировать пишет, что не может найти
fatal error LNK1104: cannot open file '..\debug\my_new_lib.lib'
я так понимаю какая то проблема с путями? где должна находиться либа чтобы она нашлась?
PM MAIL   Вверх
volatile
Дата 27.5.2013, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(mrgloom @  27.5.2013,  17:23 Найти цитируемый пост)
где должна находиться либа чтобы она нашлась?


mrgloom, там текущая директория не та где екзешник, а где проект.
поэтому либо относительный путь нужно от него указывать, либо указывать абсолютный путь.
Либо, предпочтительно, указывать вообще без путей, а папку с либой добавить в настройки "Additiona lLibrary Directories"
PM MAIL   Вверх
mrgloom
Дата 28.5.2013, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата(volatile @  27.5.2013,  23:53 Найти цитируемый пост)

Либо, предпочтительно, указывать вообще без путей, а папку с либой добавить в настройки "Additiona lLibrary Directories" 

так вроде если всё в одном месте лежит то не надо?

я вообще не понимаю почему оно хочет либу, ибо я нигде её еще не использую (кроме проставления связи в project dependencies, но это как я понимаю только лишь порядок компиляции)

например я могу сделать билд этого подпроекта появиться .dll в папке debug, по поиску .lib нигде не появляется.
linker->general->output file это куда пойдет .dll файл
по идее то куда записывается .lib файл указывает linker->advanceed->import library ?

причем в linker->command line есть строчка 
Цитата

/NXCOMPAT /IMPLIB:"..\Debug\Int\my_lib/my_lib.lib" /MACHINE:X86 

но .lib файл там не появляется


причем если поставить configuration type  Static Library (.lib) то всё работает и .lib создаётся.

Это сообщение отредактировал(а) mrgloom - 28.5.2013, 09:32
PM MAIL   Вверх
volatile
Дата 28.5.2013, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(mrgloom @  28.5.2013,  09:24 Найти цитируемый пост)
в linker->command line есть строчка 
/NXCOMPAT /IMPLIB:"..\Debug\Int\my_lib/my_lib.lib" /MACHINE:X86 
но .lib файл там не появляется

Вы добавьте хоть одну функцию экспортируемую из вашей длл, и он появицца.

вообще у вас очень что-то сумбурно всё... ( smile )

PM MAIL   Вверх
mrgloom
Дата 28.5.2013, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



еще проблема.

в своем подпроекте включаю в главный хедер(my_lib.h) #include "opencv.hpp" из  C:\OpenCV-2.4.3\build\include
потом в главном проекте в some_file.cpp включаю свой my_lib.h  и получаю ошибку 
fatal error C1083: Cannot open include file: 'opencv.hpp': No such file or directory
если в главный проект добавить в additional include directories C:\OpenCV-2.4.3\build\include то он его находит, но я не понимаю почему я еще и в главный проект должен добавить?


PM MAIL   Вверх
volatile
Дата 28.5.2013, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(mrgloom @  28.5.2013,  10:46 Найти цитируемый пост)
почему я еще и в главный проект должен добавить?

потому-что
Цитата(mrgloom @  28.5.2013,  10:46 Найти цитируемый пост)
включаю в главный хедер(my_lib.h) #include "opencv.hpp"

mrgloom, вы какбудто первый день на свет родились.
раз есть в инклудах, значит компилятор будет его искать.

Если вы уверены что пользователям вашей либы не нужна opencv.hpp, не включайте его в главный (точнее экспортируемый) *.h


PM MAIL   Вверх
mrgloom
Дата 29.5.2013, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



ну так я создал отдельный подпроект как раз с той целью чтобы отделить от главной программы всё связанное со стороннеей либой + моими самописными функциями написанными на основе её.
т.е. я хотел  как раз просто подключить my_lib.h и не заботиться о дополнительных зависимостях.
или так вообще нельзя сделать?

какой тогда смысл в подпроекте солюшена? я бы мог просто создать папку в главном проекте и туда написать свои самописные функциии основанные на сторонней либе, и либу прописать тоже в главный проект.

PM MAIL   Вверх
volatile
Дата 30.5.2013, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



mrgloom, 
Цитата(mrgloom @  29.5.2013,  09:08 Найти цитируемый пост)
ну так я создал отдельный подпроект как раз с той целью чтобы отделить от главной программы всё связанное со стороннеей либой 

Ну так и разделите. Зачем тогда включать 
Цитата(mrgloom @  28.5.2013,  10:46 Найти цитируемый пост)
включаю в главный хедер(my_lib.h) #include "opencv.hpp"

Включите его внутри своего подпроекта (например в сипипишник).
Зачем его наружу выставлять то?

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0460 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.